Internal.Accept = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.CCDDBAppDetailCommon = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgAMUnlockStreaming = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgAMUnlockStreamingResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgAppRights = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgAuthTicket = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgCREEnumeratePublishedFiles = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgCREEnumeratePublishedFilesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgCREGetUserPublishedItemVoteDetails = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgCREGetUserPublishedItemVoteDetailsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgCREItemVoteSummary = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgCREItemVoteSummaryResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgCREUpdateUserPublishedItemVote = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgCREUpdateUserPublishedItemVoteResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAMGetClanOfficers = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAMGetClanOfficersResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAMGetPersonaNameHistory = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAMGetPersonaNameHistoryResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAccountInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientActivateOEMLicense = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAddFriend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAddFriendResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAddFriendToGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAddFriendToGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAppInfoChanges = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAppInfoRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAppInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAppInfoUpdate = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAppMinutesPlayedData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAuthList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAuthListAck = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAuthorizeLocalDevice = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientAuthorizeLocalDeviceRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientCMList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientChangeStatus = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientChatInvite = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientCheckAppBetaPassword = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientCheckAppBetaPasswordResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientCheckFileSignature = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientCheckFileSignatureResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientClanState = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientCommentNotifications = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientConnectionStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientCreateAccount = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientCreateAccountResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientCreateFriendsGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientCreateFriendsGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientDPCheckSpecialSurvey = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientDPCheckSpecialSurveyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientDPContentStatsReport = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientDPSendSpecialSurveyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientDPSendSpecialSurveyResponseReply = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientDeauthorizeDevice = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientDeauthorizeDeviceRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientDeleteFriendsGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientDeleteFriendsGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientDeregisterWithServer = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientEmailAddrInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientEmailChange = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientEmailChangeResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientEmoticonList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientFSGetFriendMessageHistory = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientFSGetFriendMessageHistoryForOfflineMessages = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientFSGetFriendMessageHistoryResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientFSGetFriendsSteamLevels = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientFSGetFriendsSteamLevelsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientFriendMsg = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientFriendMsgIncoming = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientFriendProfileInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientFriendProfileInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientFriendUserStatusPublished = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientFriendsGroupsList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientFriendsList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGMSServerQuery = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGameConnectTokens = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGamesPlayed = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetAppBetaPasswords = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetAppBetaPasswordsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetAppOwnershipTicket = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetAppOwnershipTicketResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetAuthorizedDevices = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetAuthorizedDevicesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetCDNAuthToken = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetCDNAuthTokenResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetClanActivityCounts = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetClanActivityCountsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetClientAppList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetClientAppListResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetClientDetails = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetClientDetailsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetDepotDecryptionKey = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetDepotDecryptionKeyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetEmoticonList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetUserStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientGetUserStatsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientHeartBeat = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientHideFriend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientInstallClientApp = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientInstallClientAppResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientIsLimitedAccount = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientItemAnnouncements = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientKickPlayingSession = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLBSFindOrCreateLB = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLBSFindOrCreateLBResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLBSGetLBEntries = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLBSGetLBEntriesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLBSSetScore = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLBSSetScoreResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLBSSetUGC = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLBSSetUGCResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLicenseList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLogOff = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLoggedOff = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLogon = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientLogonResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSCreateLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSCreateLobbyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSGetLobbyData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSGetLobbyList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSGetLobbyListResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSInviteToLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSJoinLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSJoinLobbyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSLeaveLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSLeaveLobbyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSLobbyChatMsg = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSLobbyData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSLobbyGameServerSet = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSSendLobbyChatMsg = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSSetLobbyData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSSetLobbyDataResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSSetLobbyGameServer = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSSetLobbyLinked = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSSetLobbyOwner = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSSetLobbyOwnerResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSUserJoinedLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientMMSUserLeftLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientNewLoginKey = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientNewLoginKeyAccepted = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientOGSReportBug = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientOGSReportString = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientOfflineMessageNotification = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientP2PConnectionFailInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientP2PConnectionInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPICSAccessTokenRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPICSAccessTokenResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPICSChangesSinceRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPICSChangesSinceResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPICSProductInfoRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPICSProductInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPackageInfoRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPackageInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPersonaState = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPlayerNicknameList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPlayingSessionState = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPurchaseResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientPurchaseWithMachineID = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientReadMachineAuth = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientReadMachineAuthResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRedeemGuestPass = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRedeemGuestPassResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRegisterAuthTicketWithCM = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRegisterKey = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRegisterOEMMachine = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRegisterOEMMachineResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRemoveFriend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRemoveFriendFromGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRemoveFriendFromGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRenameFriendsGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRenameFriendsGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientReportOverlayDetourFailure = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestAccountData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestAccountDataResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestCommentNotifications = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestEncryptedAppTicket = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestEncryptedAppTicketResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestForgottenPasswordEmail = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestForgottenPasswordEmailResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestFreeLicense = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestFreeLicenseResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestFriendData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestItemAnnouncements = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestMachineAuth = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestMachineAuthResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestOfflineMessageCount = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestWebAPIAuthenticateUserNonce = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestWebAPIAuthenticateUserNonceResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRequestedClientStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRichPresenceInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRichPresenceRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientRichPresenceUpload = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientScreenshotsChanged = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientSentLogs = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientServerList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientServersAvailable = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientServiceCall = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientServiceCallResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientServiceMethod = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientServiceMethodResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientServiceModule = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientSessionToken = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientSetClientAppUpdateState = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientSetClientAppUpdateStateResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientSetPlayerNickname = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientSetPlayerNicknameResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientSharedLibraryLockStatus = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientSharedLibraryStopPlaying = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientStat2 = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientStatsUpdated = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientStoreUserStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientStoreUserStats2 = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientStoreUserStatsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientTicketAuthComplete = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMAddScreenshot = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMAddScreenshotResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMDeletePublishedFile = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMDeletePublishedFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMDeleteScreenshot = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMDeleteScreenshotResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMEnumeratePublishedFilesByUserAction = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMEnumeratePublishedFilesByUserActionResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMEnumerateUserPublishedFiles = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMEnumerateUserPublishedFilesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMEnumerateUserSubscribedFiles = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMEnumerateUserSubscribedFilesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMEnumerateUserSubscribedFilesWithUpdates = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMEnumerateUserSubscribedFilesWithUpdatesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMGetPublishedFilesForUser = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMGetPublishedFilesForUserResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMPublishFile = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMPublishFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMPublishedFileDeleted = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMPublishedFileSubscribed = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMPublishedFileUnsubscribed = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMPublishedFileUpdated = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMSetUserPublishedFileAction = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMSetUserPublishedFileActionResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMUpdatePublishedFile = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUCMUpdatePublishedFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUDSInviteToGame = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUDSP2PSessionEnded = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUDSP2PSessionStarted = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSDeleteFileRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSDeleteFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSDownloadRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSDownloadResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSFileChunk = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSGetFileListForApp = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSGetFileListForAppResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSGetSingleFileInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSGetSingleFileInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSGetUGCDetails = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSGetUGCDetailsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSLoginRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSLoginResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSShareFile = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSShareFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSTransferHeartbeat = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSUploadCommit = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSUploadCommitResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSUploadFileFinished = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSUploadFileRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUFSUploadFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUGSGetGlobalStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUGSGetGlobalStatsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUIMode = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUninstallClientApp = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUninstallClientAppResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUpdateAppJobReport = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUpdateMachineAuth = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUpdateMachineAuthResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUpdateUserGameInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUseLocalDeviceAuthorizations = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientUserNotifications = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientVanityURLChangedNotification = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientVoiceCallPreAuthorize = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientVoiceCallPreAuthorizeResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientWalletInfoUpdate = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientWorkshopItemChangesRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientWorkshopItemChangesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientWorkshopItemInfoRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgClientWorkshopItemInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgDPGetNumberOfCurrentPlayers = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgDPGetNumberOfCurrentPlayersResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgDRMDownloadRequestWithCrashData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgDRMDownloadResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgDRMFinalResult = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgDownloadRateStatistics = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgFSEnumerateFollowingList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgFSEnumerateFollowingListResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgFSGetFollowerCount = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgFSGetFollowerCountResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgFSGetIsFollowing = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgFSGetIsFollowingResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGCClient = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGMSClientServerQueryResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGSApprove = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGSAssociateWithClan = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGSAssociateWithClanResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGSComputeNewPlayerCompatibility = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGSComputeNewPlayerCompatibilityResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGSDeny = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGSDisconnectNotice = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGSKick = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGSPlayerList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGSServerType = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGSStatusReply = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGSUserPlaying = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGameServerData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGameServerOutOfDate = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGameServerPingSample = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgGameServerRemove = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgMulti = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgPersonaChangeResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgProtoBufHeader = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgProtobufWrapped = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgTrading_CancelTradeRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgTrading_InitiateTradeRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgTrading_InitiateTradeResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.CMsgTrading_StartSession = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.ChallengeData = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.ConnectData = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.Datagram = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.Disconnect = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.EncryptedAppTicket = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Internal.ExtendedClientMsgHdr = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgChannelEncryptRequest = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgChannelEncryptResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgChannelEncryptResult = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientAppUsageEvent = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientChatAction = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientChatActionResult = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientChatEnter = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientChatMemberInfo = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientChatMsg = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientChatRoomInfo = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientCreateChat = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientCreateChatResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientEmailAddrInfo = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientGenericResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientGetFriendsWhoPlayGame = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientGetFriendsWhoPlayGameResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientGetNumberOfCurrentPlayers = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientGetNumberOfCurrentPlayersResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientJoinChat = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientJustStrings = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientLogOnResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientLoggedOff = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientLogon = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientMarketingMessageUpdate2 = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientNewLoginKey = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientNewLoginKeyAccepted = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientOGSBeginSession = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientOGSBeginSessionResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientOGSEndSession = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientOGSEndSessionResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientOGSWriteRow = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientP2PIntroducerMessage = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientRequestedClientStats = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientSendGuestPass = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientSendGuestPassResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientServerUnavailable = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientSetIgnoreFriend = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientSetIgnoreFriendResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientUpdateGuestPassesList = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgClientVACBanStatus = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgGCHdr = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgGCHdrProtoBuf = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgGSApprove = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgGSDeny = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgGSGetPlayStatsResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgGSGetReputationResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgGSGetUserGroupStatus = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgGSGetUserGroupStatusResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgGSKick = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgGSPerformHardwareSurvey = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgHdr = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.MsgHdrProtoBuf = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Internal.UdpHeader = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
function SteamClient() {
EventEmitter.call(this);
}...
* [Several handler classes](#handlers)
* [`servers` property](#servers)
* [Enums](#enums)
Then you'll want to create an instance of SteamClient and any handlers you need, call [SteamClient#connect](#connect) and assign
event listeners.
```js
var steamClient = new Steam.SteamClient();
var steamUser = new Steam.SteamUser(steamClient);
steamClient.connect();
steamClient.on('connected', function() {
steamUser.logOn({
account_name: 'username',
password: 'password'
});
...function SteamFriends(steamClient) {
this._client = steamClient;
this.personaStates = {};
this.clanStates = {};
this.chatRooms = {};
this.friends = {};
this.groups = {};
this._client.on('message', function(header, body, callback) {
if (header.msg in handlers)
handlers[header.msg].call(this, ByteBuffer.wrap(body, ByteBuffer.LITTLE_ENDIAN), callback);
}.bind(this));
this._client.on('logOnResponse', function() {
this.personaStates = {};
this.clanStates = {};
this.chatRooms = {};
this.friends = {};
this.groups = {};
}.bind(this));
}n/a
function SteamGameCoordinator(steamClient, appid) {
this._client = steamClient;
this._appid = appid;
this._jobs = {};
this._currentJobID = 0;
this._client.on('message', function(header, body, callback) {
if (header.msg in handlers)
handlers[header.msg].call(this, body, callback);
}.bind(this));
this._client.on('logOnResponse', function() {
this._jobs = {};
this._currentJobID = 0;
}.bind(this));
}n/a
function SteamRichPresence(steamClient, appid) {
this._client = steamClient;
this._appid = appid;
this._client.on('message', function(header, body, callback) {
if (header.msg in handlers)
handlers[header.msg].call(this, header, body, callback);
}.bind(this));
}n/a
function SteamTrading(steamClient) {
this._client = steamClient;
this._client.on('message', function(header, body, callback) {
if (header.msg in handlers)
handlers[header.msg].call(this, body, callback);
}.bind(this));
}n/a
function SteamUnifiedMessages(steamClient, service) {
this._client = steamClient;
this._service = service;
this._client.on('message', function(header, body, callback) {
if (header.msg in handlers)
handlers[header.msg].call(this, header, body, callback);
}.bind(this));
}n/a
function SteamUser(steamClient) {
this._client = steamClient;
this._client.on('message', function(header, body, callback) {
if (header.msg in handlers)
handlers[header.msg].call(this, body, callback);
}.bind(this));
}...
* [`servers` property](#servers)
* [Enums](#enums)
Then you'll want to create an instance of SteamClient and any handlers you need, call [SteamClient#connect](#connect) and assign
event listeners.
```js
var steamClient = new Steam.SteamClient();
var steamUser = new Steam.SteamUser(steamClient);
steamClient.connect();
steamClient.on('connected', function() {
steamUser.logOn({
account_name: 'username',
password: 'password'
});
});
..._processProto = function (proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
return proto;
}...
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
this.sessionID = header.proto.client_sessionid;
this.steamID = header.proto.steamid;
}
sourceJobID = header.proto.jobid_source;
targetJobID = header.proto.jobid_target;
...function Connection() {
Socket.call(this);
this.on('readable', this._readPacket.bind(this));
}n/a
function SteamID(object) {
this.accountID = object.accountID || 0;
this.accountInstance = object.accountInstance || 0;
this.accountType = object.accountType || 0;
this.accountUniverse = object.accountUniverse || 0;
}n/a
Accept = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
CCDDBAppDetailCommon = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgAMUnlockStreaming = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgAMUnlockStreamingResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgAppRights = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgAuthTicket = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgCREEnumeratePublishedFiles = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgCREEnumeratePublishedFilesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgCREGetUserPublishedItemVoteDetails = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgCREGetUserPublishedItemVoteDetailsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgCREItemVoteSummary = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgCREItemVoteSummaryResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgCREUpdateUserPublishedItemVote = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgCREUpdateUserPublishedItemVoteResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAMGetClanOfficers = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAMGetClanOfficersResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAMGetPersonaNameHistory = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAMGetPersonaNameHistoryResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAccountInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientActivateOEMLicense = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAddFriend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAddFriendResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAddFriendToGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAddFriendToGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAppInfoChanges = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAppInfoRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAppInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAppInfoUpdate = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAppMinutesPlayedData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAuthList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAuthListAck = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAuthorizeLocalDevice = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientAuthorizeLocalDeviceRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientCMList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientChangeStatus = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientChatInvite = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientCheckAppBetaPassword = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientCheckAppBetaPasswordResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientCheckFileSignature = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientCheckFileSignatureResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientClanState = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientCommentNotifications = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientConnectionStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientCreateAccount = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientCreateAccountResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientCreateFriendsGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientCreateFriendsGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientDPCheckSpecialSurvey = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientDPCheckSpecialSurveyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientDPContentStatsReport = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientDPSendSpecialSurveyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientDPSendSpecialSurveyResponseReply = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientDeauthorizeDevice = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientDeauthorizeDeviceRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientDeleteFriendsGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientDeleteFriendsGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientDeregisterWithServer = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientEmailAddrInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientEmailChange = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientEmailChangeResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientEmoticonList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientFSGetFriendMessageHistory = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientFSGetFriendMessageHistoryForOfflineMessages = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientFSGetFriendMessageHistoryResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientFSGetFriendsSteamLevels = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientFSGetFriendsSteamLevelsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientFriendMsg = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientFriendMsgIncoming = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientFriendProfileInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientFriendProfileInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientFriendUserStatusPublished = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientFriendsGroupsList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientFriendsList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGMSServerQuery = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGameConnectTokens = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGamesPlayed = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetAppBetaPasswords = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetAppBetaPasswordsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetAppOwnershipTicket = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetAppOwnershipTicketResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetAuthorizedDevices = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetAuthorizedDevicesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetCDNAuthToken = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetCDNAuthTokenResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetClanActivityCounts = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetClanActivityCountsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetClientAppList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetClientAppListResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetClientDetails = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetClientDetailsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetDepotDecryptionKey = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetDepotDecryptionKeyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetEmoticonList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetUserStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientGetUserStatsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientHeartBeat = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}...
if (eresult == Steam.EResult.OK) {
var hbDelay = logonResp.out_of_game_heartbeat_seconds;
this._heartBeatFunc = setInterval(function() {
this.send({
msg: EMsg.ClientHeartBeat,
proto: {}
}, new schema.CMsgClientHeartBeat().toBuffer());
}.bind(this), hbDelay * 1000);
this.loggedOn = true;
}
this.emit('logOnResponse', Steam._processProto(logonResp));
};
...CMsgClientHideFriend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientInstallClientApp = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientInstallClientAppResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientIsLimitedAccount = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientItemAnnouncements = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientKickPlayingSession = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLBSFindOrCreateLB = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLBSFindOrCreateLBResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLBSGetLBEntries = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLBSGetLBEntriesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLBSSetScore = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLBSSetScoreResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLBSSetUGC = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLBSSetUGCResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLicenseList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLogOff = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLoggedOff = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLogon = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientLogonResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSCreateLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSCreateLobbyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSGetLobbyData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSGetLobbyList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSGetLobbyListResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSInviteToLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSJoinLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSJoinLobbyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSLeaveLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSLeaveLobbyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSLobbyChatMsg = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSLobbyData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSLobbyGameServerSet = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSSendLobbyChatMsg = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSSetLobbyData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSSetLobbyDataResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSSetLobbyGameServer = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSSetLobbyLinked = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSSetLobbyOwner = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSSetLobbyOwnerResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSUserJoinedLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientMMSUserLeftLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientNewLoginKey = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientNewLoginKeyAccepted = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientOGSReportBug = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientOGSReportString = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientOfflineMessageNotification = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientP2PConnectionFailInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientP2PConnectionInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPICSAccessTokenRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPICSAccessTokenResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPICSChangesSinceRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPICSChangesSinceResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPICSProductInfoRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPICSProductInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPackageInfoRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPackageInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPersonaState = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPlayerNicknameList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPlayingSessionState = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPurchaseResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientPurchaseWithMachineID = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientReadMachineAuth = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientReadMachineAuthResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRedeemGuestPass = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRedeemGuestPassResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRegisterAuthTicketWithCM = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRegisterKey = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRegisterOEMMachine = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRegisterOEMMachineResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRemoveFriend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRemoveFriendFromGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRemoveFriendFromGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRenameFriendsGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRenameFriendsGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientReportOverlayDetourFailure = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestAccountData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestAccountDataResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestCommentNotifications = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestEncryptedAppTicket = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestEncryptedAppTicketResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestForgottenPasswordEmail = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestForgottenPasswordEmailResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestFreeLicense = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestFreeLicenseResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestFriendData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestItemAnnouncements = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestMachineAuth = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestMachineAuthResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestOfflineMessageCount = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestWebAPIAuthenticateUserNonce = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestWebAPIAuthenticateUserNonceResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRequestedClientStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRichPresenceInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRichPresenceRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientRichPresenceUpload = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientScreenshotsChanged = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientSentLogs = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientServerList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientServersAvailable = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientServiceCall = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientServiceCallResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientServiceMethod = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientServiceMethodResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientServiceModule = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientSessionToken = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientSetClientAppUpdateState = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientSetClientAppUpdateStateResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientSetPlayerNickname = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientSetPlayerNicknameResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientSharedLibraryLockStatus = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientSharedLibraryStopPlaying = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientStat2 = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientStatsUpdated = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientStoreUserStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientStoreUserStats2 = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientStoreUserStatsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientTicketAuthComplete = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMAddScreenshot = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMAddScreenshotResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMDeletePublishedFile = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMDeletePublishedFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMDeleteScreenshot = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMDeleteScreenshotResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMEnumeratePublishedFilesByUserAction = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMEnumeratePublishedFilesByUserActionResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMEnumerateUserPublishedFiles = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMEnumerateUserPublishedFilesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMEnumerateUserSubscribedFiles = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMEnumerateUserSubscribedFilesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMEnumerateUserSubscribedFilesWithUpdates = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMEnumerateUserSubscribedFilesWithUpdatesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMGetPublishedFilesForUser = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMGetPublishedFilesForUserResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMPublishFile = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMPublishFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMPublishedFileDeleted = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMPublishedFileSubscribed = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMPublishedFileUnsubscribed = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMPublishedFileUpdated = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMSetUserPublishedFileAction = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMSetUserPublishedFileActionResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMUpdatePublishedFile = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUCMUpdatePublishedFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUDSInviteToGame = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUDSP2PSessionEnded = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUDSP2PSessionStarted = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSDeleteFileRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSDeleteFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSDownloadRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSDownloadResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSFileChunk = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSGetFileListForApp = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSGetFileListForAppResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSGetSingleFileInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSGetSingleFileInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSGetUGCDetails = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSGetUGCDetailsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSLoginRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSLoginResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSShareFile = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSShareFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSTransferHeartbeat = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSUploadCommit = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSUploadCommitResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSUploadFileFinished = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSUploadFileRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUFSUploadFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUGSGetGlobalStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUGSGetGlobalStatsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUIMode = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUninstallClientApp = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUninstallClientAppResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUpdateAppJobReport = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUpdateMachineAuth = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUpdateMachineAuthResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUpdateUserGameInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUseLocalDeviceAuthorizations = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientUserNotifications = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientVanityURLChangedNotification = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientVoiceCallPreAuthorize = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientVoiceCallPreAuthorizeResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientWalletInfoUpdate = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientWorkshopItemChangesRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientWorkshopItemChangesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientWorkshopItemInfoRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgClientWorkshopItemInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgDPGetNumberOfCurrentPlayers = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgDPGetNumberOfCurrentPlayersResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgDRMDownloadRequestWithCrashData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgDRMDownloadResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgDRMFinalResult = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgDownloadRateStatistics = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgFSEnumerateFollowingList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgFSEnumerateFollowingListResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgFSGetFollowerCount = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgFSGetFollowerCountResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgFSGetIsFollowing = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgFSGetIsFollowingResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGCClient = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGMSClientServerQueryResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGSApprove = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGSAssociateWithClan = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGSAssociateWithClanResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGSComputeNewPlayerCompatibility = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGSComputeNewPlayerCompatibilityResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGSDeny = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGSDisconnectNotice = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGSKick = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGSPlayerList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGSServerType = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGSStatusReply = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGSUserPlaying = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGameServerData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGameServerOutOfDate = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGameServerPingSample = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgGameServerRemove = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgMulti = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgPersonaChangeResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgProtoBufHeader = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgProtobufWrapped = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgTrading_CancelTradeRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgTrading_InitiateTradeRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgTrading_InitiateTradeResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
CMsgTrading_StartSession = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
ChallengeData = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
ConnectData = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Datagram = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Disconnect = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
EncryptedAppTicket = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
ExtendedClientMsgHdr = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}...
header.proto.jobid_source = sourceJobID;
header = new schema.MsgHdrProtoBuf(header);
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
...MsgChannelEncryptRequest = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgChannelEncryptResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...MsgChannelEncryptResult = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientAppUsageEvent = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientChatAction = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientChatActionResult = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientChatEnter = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientChatMemberInfo = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientChatMsg = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientChatRoomInfo = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientCreateChat = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientCreateChatResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientEmailAddrInfo = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientGenericResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientGetFriendsWhoPlayGame = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientGetFriendsWhoPlayGameResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientGetNumberOfCurrentPlayers = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientGetNumberOfCurrentPlayersResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientJoinChat = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientJustStrings = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientLogOnResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientLoggedOff = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientLogon = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientMarketingMessageUpdate2 = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientNewLoginKey = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientNewLoginKeyAccepted = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientOGSBeginSession = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientOGSBeginSessionResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientOGSEndSession = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientOGSEndSessionResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientOGSWriteRow = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientP2PIntroducerMessage = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientRequestedClientStats = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientSendGuestPass = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientSendGuestPassResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientServerUnavailable = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientSetIgnoreFriend = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientSetIgnoreFriendResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientUpdateGuestPassesList = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgClientVACBanStatus = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgGCHdr = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgGCHdrProtoBuf = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgGSApprove = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgGSDeny = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgGSGetPlayStatsResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgGSGetReputationResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgGSGetUserGroupStatus = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgGSGetUserGroupStatusResponse = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgGSKick = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgGSPerformHardwareSurvey = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
MsgHdr = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}...
if (callback) {
var sourceJobID = ++this._currentJobID;
this._jobs[sourceJobID] = callback;
}
if (header.msg == EMsg.ChannelEncryptResponse) {
header.sourceJobID = sourceJobID;
header = new schema.MsgHdr(header);
} else if (header.proto) {
header.proto.client_sessionid = this.sessionID;
header.proto.steamid = this.steamID;
header.proto.jobid_source = sourceJobID;
header = new schema.MsgHdrProtoBuf(header);
...MsgHdrProtoBuf = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}...
header.sourceJobID = sourceJobID;
header = new schema.MsgHdr(header);
} else if (header.proto) {
header.proto.client_sessionid = this.sessionID;
header.proto.steamid = this.steamID;
header.proto.jobid_source = sourceJobID;
header = new schema.MsgHdrProtoBuf(header);
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
...UdpHeader = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
Accept = function (object) {
object = object || {};
cnode.childNodes.forEach(function(prop) {
var defsym = prop.default[0];
var defflags = prop.flags;
if (defflags == 'const') {
return;
}
var symname = prop.name;
var ctor = exports.emitType(defsym);
if (defflags == 'proto') {
ctor = new (exports.emitType(prop.type).split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam))(object[symname] || {});
} else if (!defsym) {
if (prop.flagsOpt) {
ctor = object[symname] ?
ByteBuffer.isBuffer(object[symname]) ?
object[symname]
: ByteBuffer.wrap(object[symname])
: new ByteBuffer(code_generator.getTypeSize(prop));
} else {
if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || 0);
} else {
ctor = object[symname] || 0;
}
}
} else if (~['long', 'ulong'].indexOf(exports.emitType(prop.type))) {
ctor = ByteBuffer.Long.fromValue(object[symname] || (ctor == 'ulong.MaxValue' ? ByteBuffer.Long.MAX_UNSIGNED_VALUE : ctor));
} else {
ctor = object[symname] || +ctor;
}
this[symname] = ctor;
}.bind(this));
}n/a
decode = function (buffer) {
if (!ByteBuffer.isByteBuffer(buffer)) {
buffer = ByteBuffer.wrap(buffer, ByteBuffer.LITTLE_ENDIAN);
}
var object = {};
cnode.childNodes.forEach(function(prop) {
var typestr = exports.emitType(prop.type);
var size = code_generator.getTypeSize(prop);
var defflags = prop.flags;
var symname = prop.name;
if (defflags == 'const') {
return;
}
if (!size) {
// assume protobuf
object[symname] = typestr.split('.').slice(1).reduce(function(obj, prop) {
return obj[prop];
}, Steam).decode(buffer.readBytes(object[prop.flagsOpt]));
} else {
if (!readerTypeMap[typestr]) {
typestr = code_generator.getTypeOfSize(size, exports.supportsUnsignedTypes());
}
if (prop.flagsOpt) {
object[symname] = buffer.readBytes(+prop.flagsOpt);
} else {
object[symname] = buffer['read' + readerTypeMap[typestr]]();
if (~['protomask', 'protomaskgc'].indexOf(prop.flags)) {
object[symname] &= ~protoMask;
}
}
}
});
return object;
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...encode = function () {
// first emit variable length members
var varLengthProps = [];
cnode.childNodes.forEach(function(prop) {
var size = code_generator.getTypeSize(prop);
if (!size) {
var bb = this[prop.name].encode();
if (prop.flagsOpt != null) {
this[prop.flagsOpt] = bb.limit;
}
varLengthProps.push(bb);
}
}.bind(this));
var bb = new ByteBuffer(baseSize + varLengthProps.reduce(function(capacity, bb) {
return capacity + bb.limit;
}, 0), ByteBuffer.LITTLE_ENDIAN);
// next emit writers
cnode.childNodes.forEach(function(prop) {
var typestr = exports.emitType(prop.type);
var size = code_generator.getTypeSize(prop);
if (prop.flags == 'proto') {
varLengthProps.shift().copyTo(bb);
return;
} else if (prop.flags == 'const') {
return;
}
if (!readerTypeMap[typestr]) {
typestr = code_generator.getTypeOfSize(size, exports.supportsUnsignedTypes());
}
if (prop.flagsOpt) {
this[prop.name].copyTo(bb);
} else {
bb['write' + readerTypeMap[typestr]](~['protomask', 'protomaskgc'].indexOf(prop.flags) ?
this[prop.name] | protoMask
: this[prop.name]);
}
}.bind(this));
bb.flip();
return bb;
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...toBuffer = function () {
return this.encode().toBuffer();
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...CCDDBAppDetailCommon = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
getCommunityVisibleStats = function () {
return this[field.name];
}n/a
getDemo = function () {
return this[field.name];
}n/a
getFriendlyName = function () {
return this[field.name];
}n/a
getHasAdultContent = function () {
return this[field.name];
}n/a
getIcon = function () {
return this[field.name];
}n/a
getLogo = function () {
return this[field.name];
}n/a
getLogoSmall = function () {
return this[field.name];
}n/a
getMedia = function () {
return this[field.name];
}n/a
getName = function () {
return this[field.name];
}n/a
getPropagation = function () {
return this[field.name];
}n/a
getTool = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
get_community_visible_stats = function () {
return this[field.name];
}n/a
get_demo = function () {
return this[field.name];
}n/a
get_friendly_name = function () {
return this[field.name];
}n/a
get_has_adult_content = function () {
return this[field.name];
}n/a
get_icon = function () {
return this[field.name];
}n/a
get_logo = function () {
return this[field.name];
}n/a
get_logo_small = function () {
return this[field.name];
}n/a
get_media = function () {
return this[field.name];
}n/a
get_name = function () {
return this[field.name];
}n/a
get_propagation = function () {
return this[field.name];
}n/a
get_tool = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCommunityVisibleStats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDemo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFriendlyName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHasAdultContent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIcon = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLogo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLogoSmall = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMedia = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPropagation = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTool = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_community_visible_stats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_demo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_friendly_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_has_adult_content = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_icon = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_logo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_logo_small = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_media = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_propagation = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tool = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgAMUnlockStreaming = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgAMUnlockStreamingResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEncryptionKey = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_encryption_key = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEncryptionKey = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_encryption_key = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgAppRights = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBroadcastLive = function () {
return this[field.name];
}n/a
getDownload = function () {
return this[field.name];
}n/a
getEconomySupport = function () {
return this[field.name];
}n/a
getEconomySupportSupervisor = function () {
return this[field.name];
}n/a
getEditInfo = function () {
return this[field.name];
}n/a
getEditMarketing = function () {
return this[field.name];
}n/a
getGenerateCdkeys = function () {
return this[field.name];
}n/a
getManageCdkeys = function () {
return this[field.name];
}n/a
getManageCeg = function () {
return this[field.name];
}n/a
getManagePricing = function () {
return this[field.name];
}n/a
getManageSigning = function () {
return this[field.name];
}n/a
getPublish = function () {
return this[field.name];
}n/a
getUploadCdkeys = function () {
return this[field.name];
}n/a
getViewErrorData = function () {
return this[field.name];
}n/a
getViewFinancials = function () {
return this[field.name];
}n/a
get_broadcast_live = function () {
return this[field.name];
}n/a
get_download = function () {
return this[field.name];
}n/a
get_economy_support = function () {
return this[field.name];
}n/a
get_economy_support_supervisor = function () {
return this[field.name];
}n/a
get_edit_info = function () {
return this[field.name];
}n/a
get_edit_marketing = function () {
return this[field.name];
}n/a
get_generate_cdkeys = function () {
return this[field.name];
}n/a
get_manage_cdkeys = function () {
return this[field.name];
}n/a
get_manage_ceg = function () {
return this[field.name];
}n/a
get_manage_pricing = function () {
return this[field.name];
}n/a
get_manage_signing = function () {
return this[field.name];
}n/a
get_publish = function () {
return this[field.name];
}n/a
get_upload_cdkeys = function () {
return this[field.name];
}n/a
get_view_error_data = function () {
return this[field.name];
}n/a
get_view_financials = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBroadcastLive = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDownload = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEconomySupport = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEconomySupportSupervisor = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEditInfo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEditMarketing = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGenerateCdkeys = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setManageCdkeys = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setManageCeg = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setManagePricing = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setManageSigning = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublish = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUploadCdkeys = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setViewErrorData = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setViewFinancials = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_broadcast_live = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_download = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_economy_support = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_economy_support_supervisor = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_edit_info = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_edit_marketing = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_generate_cdkeys = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_manage_cdkeys = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_manage_ceg = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_manage_pricing = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_manage_signing = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_publish = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_upload_cdkeys = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_view_error_data = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_view_financials = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgAuthTicket = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getEstate = function () {
return this[field.name];
}n/a
getGameid = function () {
return this[field.name];
}n/a
getHSteamPipe = function () {
return this[field.name];
}n/a
getSteamid = function () {
return this[field.name];
}n/a
getTicket = function () {
return this[field.name];
}n/a
getTicketCrc = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_estate = function () {
return this[field.name];
}n/a
get_gameid = function () {
return this[field.name];
}n/a
get_h_steam_pipe = function () {
return this[field.name];
}n/a
get_steamid = function () {
return this[field.name];
}n/a
get_ticket = function () {
return this[field.name];
}n/a
get_ticket_crc = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEstate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHSteamPipe = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTicket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTicketCrc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_estate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_gameid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_h_steam_pipe = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ticket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ticket_crc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgCREEnumeratePublishedFiles = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getCount = function () {
return this[field.name];
}n/a
getDays = function () {
return this[field.name];
}n/a
getMatchingFileType = function () {
return this[field.name];
}n/a
getQueryType = function () {
return this[field.name];
}n/a
getStartIndex = function () {
return this[field.name];
}n/a
getTags = function () {
return this[field.name];
}n/a
getUserTags = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_count = function () {
return this[field.name];
}n/a
get_days = function () {
return this[field.name];
}n/a
get_matching_file_type = function () {
return this[field.name];
}n/a
get_query_type = function () {
return this[field.name];
}n/a
get_start_index = function () {
return this[field.name];
}n/a
get_tags = function () {
return this[field.name];
}n/a
get_user_tags = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDays = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMatchingFileType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setQueryType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStartIndex = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUserTags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_count = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_days = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_matching_file_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_query_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_start_index = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_user_tags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgCREEnumeratePublishedFilesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PublishedFileId = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getReports = function () {
return this[field.name];
}n/a
getScore = function () {
return this[field.name];
}n/a
getVotesAgainst = function () {
return this[field.name];
}n/a
getVotesFor = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_reports = function () {
return this[field.name];
}n/a
get_score = function () {
return this[field.name];
}n/a
get_votes_against = function () {
return this[field.name];
}n/a
get_votes_for = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setReports = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setScore = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVotesAgainst = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVotesFor = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_reports = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_score = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_votes_against = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_votes_for = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getPublishedFiles = function () {
return this[field.name];
}n/a
getTotalResults = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_published_files = function () {
return this[field.name];
}n/a
get_total_results = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFiles = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTotalResults = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_files = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_total_results = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgCREGetUserPublishedItemVoteDetails = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PublishedFileId = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileIds = function () {
return this[field.name];
}n/a
get_published_file_ids = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileIds = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_ids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgCREGetUserPublishedItemVoteDetailsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
UserItemVoteDetail = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getVote = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_vote = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVote = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_vote = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getUserItemVoteDetails = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_user_item_vote_details = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUserItemVoteDetails = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_user_item_vote_details = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgCREItemVoteSummary = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PublishedFileId = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileIds = function () {
return this[field.name];
}n/a
get_published_file_ids = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileIds = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_ids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgCREItemVoteSummaryResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
ItemVoteSummary = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getReports = function () {
return this[field.name];
}n/a
getScore = function () {
return this[field.name];
}n/a
getVotesAgainst = function () {
return this[field.name];
}n/a
getVotesFor = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_reports = function () {
return this[field.name];
}n/a
get_score = function () {
return this[field.name];
}n/a
get_votes_against = function () {
return this[field.name];
}n/a
get_votes_for = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setReports = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setScore = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVotesAgainst = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVotesFor = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_reports = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_score = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_votes_against = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_votes_for = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getItemVoteSummaries = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_item_vote_summaries = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setItemVoteSummaries = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_item_vote_summaries = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgCREUpdateUserPublishedItemVote = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getVoteUp = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_vote_up = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVoteUp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_vote_up = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgCREUpdateUserPublishedItemVoteResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAMGetClanOfficers = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getSteamidClan = function () {
return this[field.name];
}n/a
get_steamid_clan = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setSteamidClan = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_clan = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAMGetClanOfficersResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getOfficerCount = function () {
return this[field.name];
}n/a
getSteamidClan = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_officer_count = function () {
return this[field.name];
}n/a
get_steamid_clan = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOfficerCount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamidClan = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_officer_count = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_clan = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAMGetPersonaNameHistory = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
IdInstance = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getSteamid = function () {
return this[field.name];
}n/a
get_steamid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getIdCount = function () {
return this[field.name];
}n/a
getIds = function () {
return this[field.name];
}n/a
get__Ids = function () {
return this[field.name];
}n/a
get_id_count = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setIdCount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIds = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set__Ids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_id_count = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAMGetPersonaNameHistoryResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
NameTableInstance = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getNames = function () {
return this[field.name];
}n/a
getSteamid = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_names = function () {
return this[field.name];
}n/a
get_steamid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNames = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_names = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getResponses = function () {
return this[field.name];
}n/a
get_responses = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setResponses = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_responses = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAccountInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccountFlags = function () {
return this[field.name];
}n/a
getCountAuthedComputers = function () {
return this[field.name];
}n/a
getFacebookId = function () {
return this[field.name];
}n/a
getFacebookName = function () {
return this[field.name];
}n/a
getIpCountry = function () {
return this[field.name];
}n/a
getPersonaName = function () {
return this[field.name];
}n/a
getSteamguardMachineNameUserChosen = function () {
return this[field.name];
}n/a
getSteamguardNotifyNewmachines = function () {
return this[field.name];
}n/a
get_account_flags = function () {
return this[field.name];
}n/a
get_count_authed_computers = function () {
return this[field.name];
}n/a
get_facebook_id = function () {
return this[field.name];
}n/a
get_facebook_name = function () {
return this[field.name];
}n/a
get_ip_country = function () {
return this[field.name];
}n/a
get_persona_name = function () {
return this[field.name];
}n/a
get_steamguard_machine_name_user_chosen = function () {
return this[field.name];
}n/a
get_steamguard_notify_newmachines = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccountFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCountAuthedComputers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFacebookId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFacebookName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIpCountry = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamguardMachineNameUserChosen = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamguardNotifyNewmachines = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_account_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_count_authed_computers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_facebook_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_facebook_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ip_country = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamguard_machine_name_user_chosen = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamguard_notify_newmachines = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientActivateOEMLicense = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBiosManufacturer = function () {
return this[field.name];
}n/a
getBiosSerialnumber = function () {
return this[field.name];
}n/a
getLicenseFile = function () {
return this[field.name];
}n/a
getMainboardManufacturer = function () {
return this[field.name];
}n/a
getMainboardProduct = function () {
return this[field.name];
}n/a
getMainboardSerialnumber = function () {
return this[field.name];
}n/a
get_bios_manufacturer = function () {
return this[field.name];
}n/a
get_bios_serialnumber = function () {
return this[field.name];
}n/a
get_license_file = function () {
return this[field.name];
}n/a
get_mainboard_manufacturer = function () {
return this[field.name];
}n/a
get_mainboard_product = function () {
return this[field.name];
}n/a
get_mainboard_serialnumber = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBiosManufacturer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBiosSerialnumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLicenseFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMainboardManufacturer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMainboardProduct = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMainboardSerialnumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bios_manufacturer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bios_serialnumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_license_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_mainboard_manufacturer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_mainboard_product = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_mainboard_serialnumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAddFriend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccountnameOrEmailToAdd = function () {
return this[field.name];
}n/a
getSteamidToAdd = function () {
return this[field.name];
}n/a
get_accountname_or_email_to_add = function () {
return this[field.name];
}n/a
get_steamid_to_add = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccountnameOrEmailToAdd = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamidToAdd = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_accountname_or_email_to_add = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_to_add = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAddFriendResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getPersonaNameAdded = function () {
return this[field.name];
}n/a
getSteamIdAdded = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_persona_name_added = function () {
return this[field.name];
}n/a
get_steam_id_added = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaNameAdded = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdAdded = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_name_added = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_added = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAddFriendToGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getGroupid = function () {
return this[field.name];
}n/a
getSteamiduser = function () {
return this[field.name];
}n/a
get_groupid = function () {
return this[field.name];
}n/a
get_steamiduser = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setGroupid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamiduser = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_groupid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamiduser = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAddFriendToGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAppInfoChanges = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppIDs = function () {
return this[field.name];
}n/a
getCurrentChangeNumber = function () {
return this[field.name];
}n/a
getForceFullUpdate = function () {
return this[field.name];
}n/a
get_app_I_Ds = function () {
return this[field.name];
}n/a
get_current_change_number = function () {
return this[field.name];
}n/a
get_force_full_update = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppIDs = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCurrentChangeNumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setForceFullUpdate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_I_Ds = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_current_change_number = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_force_full_update = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAppInfoRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
App = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getSectionCRC = function () {
return this[field.name];
}n/a
getSectionFlags = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_section__C_R_C = function () {
return this[field.name];
}n/a
get_section_flags = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSectionCRC = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSectionFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_section__C_R_C = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_section_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getApps = function () {
return this[field.name];
}n/a
getSupportsBatches = function () {
return this[field.name];
}n/a
get_apps = function () {
return this[field.name];
}n/a
get_supports_batches = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setApps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSupportsBatches = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_apps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_supports_batches = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAppInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
App = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getChangeNumber = function () {
return this[field.name];
}n/a
getSections = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_change_number = function () {
return this[field.name];
}n/a
get_sections = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setChangeNumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSections = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_change_number = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sections = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getApps = function () {
return this[field.name];
}n/a
getAppsPending = function () {
return this[field.name];
}n/a
getAppsUnknown = function () {
return this[field.name];
}n/a
get_apps = function () {
return this[field.name];
}n/a
get_apps_pending = function () {
return this[field.name];
}n/a
get_apps_unknown = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setApps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAppsPending = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAppsUnknown = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_apps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_apps_pending = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_apps_unknown = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAppInfoUpdate = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getLastChangenumber = function () {
return this[field.name];
}n/a
getSendChangelist = function () {
return this[field.name];
}n/a
get_last_changenumber = function () {
return this[field.name];
}n/a
get_send_changelist = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setLastChangenumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSendChangelist = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_changenumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_send_changelist = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAppMinutesPlayedData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
AppMinutesPlayedData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getForever = function () {
return this[field.name];
}n/a
getLastTwoWeeks = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_forever = function () {
return this[field.name];
}n/a
get_last_two_weeks = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setForever = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastTwoWeeks = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_forever = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_two_weeks = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getMinutesPlayed = function () {
return this[field.name];
}n/a
get_minutes_played = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setMinutesPlayed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_minutes_played = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAuthList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppIds = function () {
return this[field.name];
}n/a
getLastRequestSeq = function () {
return this[field.name];
}n/a
getLastRequestSeqFromServer = function () {
return this[field.name];
}n/a
getMessageSequence = function () {
return this[field.name];
}n/a
getTickets = function () {
return this[field.name];
}n/a
getTokensLeft = function () {
return this[field.name];
}n/a
get_app_ids = function () {
return this[field.name];
}n/a
get_last_request_seq = function () {
return this[field.name];
}n/a
get_last_request_seq_from_server = function () {
return this[field.name];
}n/a
get_message_sequence = function () {
return this[field.name];
}n/a
get_tickets = function () {
return this[field.name];
}n/a
get_tokens_left = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppIds = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastRequestSeq = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastRequestSeqFromServer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMessageSequence = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTickets = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTokensLeft = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_ids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_request_seq = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_request_seq_from_server = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_message_sequence = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tickets = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tokens_left = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAuthListAck = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppIds = function () {
return this[field.name];
}n/a
getMessageSequence = function () {
return this[field.name];
}n/a
getTicketCrc = function () {
return this[field.name];
}n/a
get_app_ids = function () {
return this[field.name];
}n/a
get_message_sequence = function () {
return this[field.name];
}n/a
get_ticket_crc = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppIds = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMessageSequence = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTicketCrc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_ids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_message_sequence = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ticket_crc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAuthorizeLocalDevice = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAuthedDeviceToken = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getOwnerAccountId = function () {
return this[field.name];
}n/a
get_authed_device_token = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_owner_account_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAuthedDeviceToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOwnerAccountId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_authed_device_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_owner_account_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientAuthorizeLocalDeviceRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getDeviceDescription = function () {
return this[field.name];
}n/a
getOwnerAccountId = function () {
return this[field.name];
}n/a
get_device_description = function () {
return this[field.name];
}n/a
get_owner_account_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setDeviceDescription = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOwnerAccountId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_device_description = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_owner_account_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientCMList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCmAddresses = function () {
return this[field.name];
}n/a
getCmPorts = function () {
return this[field.name];
}n/a
get_cm_addresses = function () {
return this[field.name];
}n/a
get_cm_ports = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCmAddresses = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCmPorts = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cm_addresses = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cm_ports = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientChangeStatus = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getHighPriority = function () {
return this[field.name];
}n/a
getIsAutoGeneratedName = function () {
return this[field.name];
}n/a
getPersonaSetByUser = function () {
return this[field.name];
}n/a
getPersonaState = function () {
return this[field.name];
}n/a
getPlayerName = function () {
return this[field.name];
}n/a
get_high_priority = function () {
return this[field.name];
}n/a
get_is_auto_generated_name = function () {
return this[field.name];
}n/a
get_persona_set_by_user = function () {
return this[field.name];
}n/a
get_persona_state = function () {
return this[field.name];
}n/a
get_player_name = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setHighPriority = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIsAutoGeneratedName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaSetByUser = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaState = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPlayerName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_high_priority = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_is_auto_generated_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_set_by_user = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_state = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_player_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientChatInvite = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getChatName = function () {
return this[field.name];
}n/a
getChatroomType = function () {
return this[field.name];
}n/a
getGameId = function () {
return this[field.name];
}n/a
getSteamIdChat = function () {
return this[field.name];
}n/a
getSteamIdFriendChat = function () {
return this[field.name];
}n/a
getSteamIdInvited = function () {
return this[field.name];
}n/a
getSteamIdPatron = function () {
return this[field.name];
}n/a
get_chat_name = function () {
return this[field.name];
}n/a
get_chatroom_type = function () {
return this[field.name];
}n/a
get_game_id = function () {
return this[field.name];
}n/a
get_steam_id_chat = function () {
return this[field.name];
}n/a
get_steam_id_friend_chat = function () {
return this[field.name];
}n/a
get_steam_id_invited = function () {
return this[field.name];
}n/a
get_steam_id_patron = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setChatName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setChatroomType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdChat = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdFriendChat = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdInvited = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdPatron = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_chat_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_chatroom_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_chat = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_friend_chat = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_invited = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_patron = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientCheckAppBetaPassword = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getBetapassword = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_betapassword = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBetapassword = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_betapassword = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientCheckAppBetaPasswordResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
BetaPassword = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBetaname = function () {
return this[field.name];
}n/a
getBetapassword = function () {
return this[field.name];
}n/a
get_betaname = function () {
return this[field.name];
}n/a
get_betapassword = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBetaname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBetapassword = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_betaname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_betapassword = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBetapasswords = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_betapasswords = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBetapasswords = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_betapasswords = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientCheckFileSignature = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientCheckFileSignatureResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getEsignatureresult = function () {
return this[field.name];
}n/a
getEvalvesignaturecheckdetail = function () {
return this[field.name];
}n/a
getFilename = function () {
return this[field.name];
}n/a
getFilesize = function () {
return this[field.name];
}n/a
getGetlasterror = function () {
return this[field.name];
}n/a
getPid = function () {
return this[field.name];
}n/a
getShaFile = function () {
return this[field.name];
}n/a
getSignatureheader = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_esignatureresult = function () {
return this[field.name];
}n/a
get_evalvesignaturecheckdetail = function () {
return this[field.name];
}n/a
get_filename = function () {
return this[field.name];
}n/a
get_filesize = function () {
return this[field.name];
}n/a
get_getlasterror = function () {
return this[field.name];
}n/a
get_pid = function () {
return this[field.name];
}n/a
get_sha_file = function () {
return this[field.name];
}n/a
get_signatureheader = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEsignatureresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEvalvesignaturecheckdetail = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilesize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGetlasterror = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSignatureheader = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_esignatureresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_evalvesignaturecheckdetail = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filesize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_getlasterror = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_pid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_signatureheader = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientClanState = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Event = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
NameInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
UserCounts = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEventTime = function () {
return this[field.name];
}n/a
getGameId = function () {
return this[field.name];
}n/a
getGid = function () {
return this[field.name];
}n/a
getHeadline = function () {
return this[field.name];
}n/a
getJustPosted = function () {
return this[field.name];
}n/a
get_event_time = function () {
return this[field.name];
}n/a
get_game_id = function () {
return this[field.name];
}n/a
get_gid = function () {
return this[field.name];
}n/a
get_headline = function () {
return this[field.name];
}n/a
get_just_posted = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEventTime = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHeadline = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setJustPosted = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_event_time = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_gid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_headline = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_just_posted = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getClanName = function () {
return this[field.name];
}n/a
getShaAvatar = function () {
return this[field.name];
}n/a
get_clan_name = function () {
return this[field.name];
}n/a
get_sha_avatar = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setClanName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaAvatar = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_clan_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_avatar = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getChatting = function () {
return this[field.name];
}n/a
getInGame = function () {
return this[field.name];
}n/a
getMembers = function () {
return this[field.name];
}n/a
getOnline = function () {
return this[field.name];
}n/a
get_chatting = function () {
return this[field.name];
}n/a
get_in_game = function () {
return this[field.name];
}n/a
get_members = function () {
return this[field.name];
}n/a
get_online = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setChatting = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setInGame = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMembers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOnline = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_chatting = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_in_game = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_members = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_online = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAnnouncements = function () {
return this[field.name];
}n/a
getClanAccountFlags = function () {
return this[field.name];
}n/a
getEvents = function () {
return this[field.name];
}n/a
getMUnStatusFlags = function () {
return this[field.name];
}n/a
getNameInfo = function () {
return this[field.name];
}n/a
getSteamidClan = function () {
return this[field.name];
}n/a
getUserCounts = function () {
return this[field.name];
}n/a
get_announcements = function () {
return this[field.name];
}n/a
get_clan_account_flags = function () {
return this[field.name];
}n/a
get_events = function () {
return this[field.name];
}n/a
get_m_un_Status_Flags = function () {
return this[field.name];
}n/a
get_name_info = function () {
return this[field.name];
}n/a
get_steamid_clan = function () {
return this[field.name];
}n/a
get_user_counts = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAnnouncements = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setClanAccountFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEvents = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMUnStatusFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNameInfo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamidClan = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUserCounts = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_announcements = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_clan_account_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_events = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_m_un_Status_Flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_name_info = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_clan = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_user_counts = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientCommentNotifications = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCountNewComments = function () {
return this[field.name];
}n/a
getCountNewCommentsOwner = function () {
return this[field.name];
}n/a
getCountNewCommentsSubscriptions = function () {
return this[field.name];
}n/a
get_count_new_comments = function () {
return this[field.name];
}n/a
get_count_new_comments_owner = function () {
return this[field.name];
}n/a
get_count_new_comments_subscriptions = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCountNewComments = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCountNewCommentsOwner = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCountNewCommentsSubscriptions = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_count_new_comments = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_count_new_comments_owner = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_count_new_comments_subscriptions = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientConnectionStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Stats_Logon = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Stats_UDP = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Stats_VConn = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getConnectAttempts = function () {
return this[field.name];
}n/a
getConnectFailures = function () {
return this[field.name];
}n/a
getConnectSuccesses = function () {
return this[field.name];
}n/a
getConnectionsDropped = function () {
return this[field.name];
}n/a
getCountBadCms = function () {
return this[field.name];
}n/a
getMsecTologonthistime = function () {
return this[field.name];
}n/a
getSecondsRunning = function () {
return this[field.name];
}n/a
get_connect_attempts = function () {
return this[field.name];
}n/a
get_connect_failures = function () {
return this[field.name];
}n/a
get_connect_successes = function () {
return this[field.name];
}n/a
get_connections_dropped = function () {
return this[field.name];
}n/a
get_count_bad_cms = function () {
return this[field.name];
}n/a
get_msec_tologonthistime = function () {
return this[field.name];
}n/a
get_seconds_running = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setConnectAttempts = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setConnectFailures = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setConnectSuccesses = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setConnectionsDropped = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCountBadCms = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMsecTologonthistime = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSecondsRunning = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_connect_attempts = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_connect_failures = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_connect_successes = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_connections_dropped = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_count_bad_cms = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_msec_tologonthistime = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_seconds_running = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBytesRecv = function () {
return this[field.name];
}n/a
getBytesSent = function () {
return this[field.name];
}n/a
getPktsProcessed = function () {
return this[field.name];
}n/a
getPktsRecv = function () {
return this[field.name];
}n/a
getPktsSent = function () {
return this[field.name];
}n/a
get_bytes_recv = function () {
return this[field.name];
}n/a
get_bytes_sent = function () {
return this[field.name];
}n/a
get_pkts_processed = function () {
return this[field.name];
}n/a
get_pkts_recv = function () {
return this[field.name];
}n/a
get_pkts_sent = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBytesRecv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBytesSent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPktsProcessed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPktsRecv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPktsSent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_recv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_sent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_pkts_processed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_pkts_recv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_pkts_sent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBadPktsRecv = function () {
return this[field.name];
}n/a
getConnReqReceived = function () {
return this[field.name];
}n/a
getConnectionsTcp = function () {
return this[field.name];
}n/a
getConnectionsUdp = function () {
return this[field.name];
}n/a
getDatagramsRecv = function () {
return this[field.name];
}n/a
getDatagramsSent = function () {
return this[field.name];
}n/a
getDupPktsRecv = function () {
return this[field.name];
}n/a
getFailedConnectChallenges = function () {
return this[field.name];
}n/a
getMemPoolMsgInUse = function () {
return this[field.name];
}n/a
getMicroSecAvgLatency = function () {
return this[field.name];
}n/a
getMicroSecMaxLatency = function () {
return this[field.name];
}n/a
getMicroSecMinLatency = function () {
return this[field.name];
}n/a
getMissedPktsRecv = function () {
return this[field.name];
}n/a
getMsgsRecv = function () {
return this[field.name];
}n/a
getMsgsSent = function () {
return this[field.name];
}n/a
getMsgsSentFailed = function () {
return this[field.name];
}n/a
getPktsAbandoned = function () {
return this[field.name];
}n/a
getPktsResent = function () {
return this[field.name];
}n/a
getStatsUdp = function () {
return this[field.name];
}n/a
getUnknownConnPktsRecv = function () {
return this[field.name];
}n/a
get_bad_pkts_recv = function () {
return this[field.name];
}n/a
get_conn_req_received = function () {
return this[field.name];
}n/a
get_connections_tcp = function () {
return this[field.name];
}n/a
get_connections_udp = function () {
return this[field.name];
}n/a
get_datagrams_recv = function () {
return this[field.name];
}n/a
get_datagrams_sent = function () {
return this[field.name];
}n/a
get_dup_pkts_recv = function () {
return this[field.name];
}n/a
get_failed_connect_challenges = function () {
return this[field.name];
}n/a
get_mem_pool_msg_in_use = function () {
return this[field.name];
}n/a
get_micro_sec_avg_latency = function () {
return this[field.name];
}n/a
get_micro_sec_max_latency = function () {
return this[field.name];
}n/a
get_micro_sec_min_latency = function () {
return this[field.name];
}n/a
get_missed_pkts_recv = function () {
return this[field.name];
}n/a
get_msgs_recv = function () {
return this[field.name];
}n/a
get_msgs_sent = function () {
return this[field.name];
}n/a
get_msgs_sent_failed = function () {
return this[field.name];
}n/a
get_pkts_abandoned = function () {
return this[field.name];
}n/a
get_pkts_resent = function () {
return this[field.name];
}n/a
get_stats_udp = function () {
return this[field.name];
}n/a
get_unknown_conn_pkts_recv = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBadPktsRecv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setConnReqReceived = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setConnectionsTcp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setConnectionsUdp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDatagramsRecv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDatagramsSent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDupPktsRecv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFailedConnectChallenges = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMemPoolMsgInUse = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMicroSecAvgLatency = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMicroSecMaxLatency = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMicroSecMinLatency = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMissedPktsRecv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMsgsRecv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMsgsSent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMsgsSentFailed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPktsAbandoned = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPktsResent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatsUdp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUnknownConnPktsRecv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bad_pkts_recv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_conn_req_received = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_connections_tcp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_connections_udp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_datagrams_recv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_datagrams_sent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_dup_pkts_recv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_failed_connect_challenges = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_mem_pool_msg_in_use = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_micro_sec_avg_latency = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_micro_sec_max_latency = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_micro_sec_min_latency = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_missed_pkts_recv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_msgs_recv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_msgs_sent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_msgs_sent_failed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_pkts_abandoned = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_pkts_resent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stats_udp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_unknown_conn_pkts_recv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getStatsLogon = function () {
return this[field.name];
}n/a
getStatsVconn = function () {
return this[field.name];
}n/a
get_stats_logon = function () {
return this[field.name];
}n/a
get_stats_vconn = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setStatsLogon = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatsVconn = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stats_logon = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stats_vconn = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientCreateAccount = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccountName = function () {
return this[field.name];
}n/a
getEmail = function () {
return this[field.name];
}n/a
getLauncher = function () {
return this[field.name];
}n/a
getPassword = function () {
return this[field.name];
}n/a
get_account_name = function () {
return this[field.name];
}n/a
get_email = function () {
return this[field.name];
}n/a
get_launcher = function () {
return this[field.name];
}n/a
get_password = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccountName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEmail = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLauncher = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPassword = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_account_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_email = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_launcher = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_password = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientCreateAccountResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getSteamid = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_steamid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientCreateFriendsGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getGroupname = function () {
return this[field.name];
}n/a
getSteamid = function () {
return this[field.name];
}n/a
get_groupname = function () {
return this[field.name];
}n/a
get_steamid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setGroupname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_groupname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientCreateFriendsGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getGroupid = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_groupid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGroupid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_groupid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientDPCheckSpecialSurvey = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getSurveyId = function () {
return this[field.name];
}n/a
get_survey_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setSurveyId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_survey_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientDPCheckSpecialSurveyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCustomUrl = function () {
return this[field.name];
}n/a
getEResult = function () {
return this[field.name];
}n/a
getIncludeSoftware = function () {
return this[field.name];
}n/a
getName = function () {
return this[field.name];
}n/a
getState = function () {
return this[field.name];
}n/a
getToken = function () {
return this[field.name];
}n/a
get_custom_url = function () {
return this[field.name];
}n/a
get_e_Result = function () {
return this[field.name];
}n/a
get_include_software = function () {
return this[field.name];
}n/a
get_name = function () {
return this[field.name];
}n/a
get_state = function () {
return this[field.name];
}n/a
get_token = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCustomUrl = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEResult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIncludeSoftware = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setState = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_custom_url = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_e_Result = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_include_software = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_state = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientDPContentStatsReport = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCountryCode = function () {
return this[field.name];
}n/a
getLanguage = function () {
return this[field.name];
}n/a
getNumInstallFolders = function () {
return this[field.name];
}n/a
getNumInstalledGames = function () {
return this[field.name];
}n/a
getOsType = function () {
return this[field.name];
}n/a
getSizeInstalledGames = function () {
return this[field.name];
}n/a
getStatsMachineId = function () {
return this[field.name];
}n/a
get_country_code = function () {
return this[field.name];
}n/a
get_language = function () {
return this[field.name];
}n/a
get_num_install_folders = function () {
return this[field.name];
}n/a
get_num_installed_games = function () {
return this[field.name];
}n/a
get_os_type = function () {
return this[field.name];
}n/a
get_size_installed_games = function () {
return this[field.name];
}n/a
get_stats_machine_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCountryCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLanguage = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNumInstallFolders = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNumInstalledGames = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOsType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSizeInstalledGames = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatsMachineId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_country_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_language = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_num_install_folders = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_num_installed_games = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_os_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_size_installed_games = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stats_machine_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientDPSendSpecialSurveyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getData = function () {
return this[field.name];
}n/a
getSurveyId = function () {
return this[field.name];
}n/a
get_data = function () {
return this[field.name];
}n/a
get_survey_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setData = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSurveyId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_data = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_survey_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientDPSendSpecialSurveyResponseReply = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEResult = function () {
return this[field.name];
}n/a
getToken = function () {
return this[field.name];
}n/a
get_e_Result = function () {
return this[field.name];
}n/a
get_token = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEResult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_e_Result = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientDeauthorizeDevice = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getDeauthorizationAccountId = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_deauthorization_account_id = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setDeauthorizationAccountId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_deauthorization_account_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientDeauthorizeDeviceRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getDeauthorizationAccountId = function () {
return this[field.name];
}n/a
getDeauthorizationDeviceToken = function () {
return this[field.name];
}n/a
get_deauthorization_account_id = function () {
return this[field.name];
}n/a
get_deauthorization_device_token = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setDeauthorizationAccountId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDeauthorizationDeviceToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_deauthorization_account_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_deauthorization_device_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientDeleteFriendsGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getGroupid = function () {
return this[field.name];
}n/a
getSteamid = function () {
return this[field.name];
}n/a
get_groupid = function () {
return this[field.name];
}n/a
get_steamid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setGroupid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_groupid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientDeleteFriendsGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientDeregisterWithServer = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEservertype = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_eservertype = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEservertype = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eservertype = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientEmailAddrInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCredentialChangeRequiresCode = function () {
return this[field.name];
}n/a
getEmailAddress = function () {
return this[field.name];
}n/a
getEmailIsValidated = function () {
return this[field.name];
}n/a
getEmailValidationChanged = function () {
return this[field.name];
}n/a
getPasswordOrSecretqaChangeRequiresCode = function () {
return this[field.name];
}n/a
getRemindUserAboutEmail = function () {
return this[field.name];
}n/a
get_credential_change_requires_code = function () {
return this[field.name];
}n/a
get_email_address = function () {
return this[field.name];
}n/a
get_email_is_validated = function () {
return this[field.name];
}n/a
get_email_validation_changed = function () {
return this[field.name];
}n/a
get_password_or_secretqa_change_requires_code = function () {
return this[field.name];
}n/a
get_remind_user_about_email = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCredentialChangeRequiresCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEmailAddress = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEmailIsValidated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEmailValidationChanged = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPasswordOrSecretqaChangeRequiresCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRemindUserAboutEmail = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_credential_change_requires_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_email_address = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_email_is_validated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_email_validation_changed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_password_or_secretqa_change_requires_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_remind_user_about_email = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientEmailChange = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getClientSupportsSms = function () {
return this[field.name];
}n/a
getCode = function () {
return this[field.name];
}n/a
getEmail = function () {
return this[field.name];
}n/a
getFinal = function () {
return this[field.name];
}n/a
getNewmethod = function () {
return this[field.name];
}n/a
getPassword = function () {
return this[field.name];
}n/a
getSmsCode = function () {
return this[field.name];
}n/a
getTwofactorCode = function () {
return this[field.name];
}n/a
get_client_supports_sms = function () {
return this[field.name];
}n/a
get_code = function () {
return this[field.name];
}n/a
get_email = function () {
return this[field.name];
}n/a
get_final = function () {
return this[field.name];
}n/a
get_newmethod = function () {
return this[field.name];
}n/a
get_password = function () {
return this[field.name];
}n/a
get_sms_code = function () {
return this[field.name];
}n/a
get_twofactor_code = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setClientSupportsSms = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEmail = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFinal = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNewmethod = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPassword = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSmsCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTwofactorCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_client_supports_sms = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_email = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_final = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_newmethod = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_password = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sms_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_twofactor_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientEmailChangeResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getRequiresSmsCode = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_requires_sms_code = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRequiresSmsCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_requires_sms_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientEmoticonList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Emoticon = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCount = function () {
return this[field.name];
}n/a
getName = function () {
return this[field.name];
}n/a
get_count = function () {
return this[field.name];
}n/a
get_name = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_count = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEmoticons = function () {
return this[field.name];
}n/a
get_emoticons = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEmoticons = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_emoticons = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientFSGetFriendMessageHistory = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getSteamid = function () {
return this[field.name];
}n/a
get_steamid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientFSGetFriendMessageHistoryForOfflineMessages = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientFSGetFriendMessageHistoryResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
FriendMessage = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccountid = function () {
return this[field.name];
}n/a
getMessage = function () {
return this[field.name];
}n/a
getTimestamp = function () {
return this[field.name];
}n/a
getUnread = function () {
return this[field.name];
}n/a
get_accountid = function () {
return this[field.name];
}n/a
get_message = function () {
return this[field.name];
}n/a
get_timestamp = function () {
return this[field.name];
}n/a
get_unread = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccountid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMessage = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimestamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUnread = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_accountid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_message = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_timestamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_unread = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getMessages = function () {
return this[field.name];
}n/a
getSteamid = function () {
return this[field.name];
}n/a
getSuccess = function () {
return this[field.name];
}n/a
get_messages = function () {
return this[field.name];
}n/a
get_steamid = function () {
return this[field.name];
}n/a
get_success = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setMessages = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSuccess = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_messages = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_success = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientFSGetFriendsSteamLevels = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccountids = function () {
return this[field.name];
}n/a
get_accountids = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccountids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_accountids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientFSGetFriendsSteamLevelsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Friend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccountid = function () {
return this[field.name];
}n/a
getLevel = function () {
return this[field.name];
}n/a
get_accountid = function () {
return this[field.name];
}n/a
get_level = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccountid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLevel = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_accountid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_level = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getFriends = function () {
return this[field.name];
}n/a
get_friends = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setFriends = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_friends = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientFriendMsg = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getChatEntryType = function () {
return this[field.name];
}n/a
getMessage = function () {
return this[field.name];
}n/a
getRtime32ServerTimestamp = function () {
return this[field.name];
}n/a
getSteamid = function () {
return this[field.name];
}n/a
get_chat_entry_type = function () {
return this[field.name];
}n/a
get_message = function () {
return this[field.name];
}n/a
get_rtime32_server_timestamp = function () {
return this[field.name];
}n/a
get_steamid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setChatEntryType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMessage = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRtime32ServerTimestamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_chat_entry_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_message = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rtime32_server_timestamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientFriendMsgIncoming = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getChatEntryType = function () {
return this[field.name];
}n/a
getFromLimitedAccount = function () {
return this[field.name];
}n/a
getMessage = function () {
return this[field.name];
}n/a
getRtime32ServerTimestamp = function () {
return this[field.name];
}n/a
getSteamidFrom = function () {
return this[field.name];
}n/a
get_chat_entry_type = function () {
return this[field.name];
}n/a
get_from_limited_account = function () {
return this[field.name];
}n/a
get_message = function () {
return this[field.name];
}n/a
get_rtime32_server_timestamp = function () {
return this[field.name];
}n/a
get_steamid_from = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setChatEntryType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFromLimitedAccount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMessage = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRtime32ServerTimestamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamidFrom = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_chat_entry_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_from_limited_account = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_message = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rtime32_server_timestamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_from = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientFriendProfileInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getSteamidFriend = function () {
return this[field.name];
}n/a
get_steamid_friend = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setSteamidFriend = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_friend = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientFriendProfileInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCityName = function () {
return this[field.name];
}n/a
getCountryName = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getHeadline = function () {
return this[field.name];
}n/a
getRealName = function () {
return this[field.name];
}n/a
getStateName = function () {
return this[field.name];
}n/a
getSteamidFriend = function () {
return this[field.name];
}n/a
getSummary = function () {
return this[field.name];
}n/a
getTimeCreated = function () {
return this[field.name];
}n/a
get_city_name = function () {
return this[field.name];
}n/a
get_country_name = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_headline = function () {
return this[field.name];
}n/a
get_real_name = function () {
return this[field.name];
}n/a
get_state_name = function () {
return this[field.name];
}n/a
get_steamid_friend = function () {
return this[field.name];
}n/a
get_summary = function () {
return this[field.name];
}n/a
get_time_created = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCityName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCountryName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHeadline = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRealName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStateName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamidFriend = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSummary = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeCreated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_city_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_country_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_headline = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_real_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_state_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_friend = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_summary = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_created = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientFriendUserStatusPublished = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
getFriendSteamid = function () {
return this[field.name];
}n/a
getStatusText = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
get_friend_steamid = function () {
return this[field.name];
}n/a
get_status_text = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFriendSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatusText = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_friend_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_status_text = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientFriendsGroupsList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
FriendGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
FriendGroupsMembership = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getNGroupID = function () {
return this[field.name];
}n/a
getStrGroupName = function () {
return this[field.name];
}n/a
get_n_Group_I_D = function () {
return this[field.name];
}n/a
get_str_Group_Name = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setNGroupID = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStrGroupName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_n_Group_I_D = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_str_Group_Name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getNGroupID = function () {
return this[field.name];
}n/a
getUlSteamID = function () {
return this[field.name];
}n/a
get_n_Group_I_D = function () {
return this[field.name];
}n/a
get_ul_Steam_I_D = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setNGroupID = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUlSteamID = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_n_Group_I_D = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ul_Steam_I_D = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBincremental = function () {
return this[field.name];
}n/a
getBremoval = function () {
return this[field.name];
}n/a
getFriendGroups = function () {
return this[field.name];
}n/a
getMemberships = function () {
return this[field.name];
}n/a
get_bincremental = function () {
return this[field.name];
}n/a
get_bremoval = function () {
return this[field.name];
}n/a
get_friend_Groups = function () {
return this[field.name];
}n/a
get_memberships = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBincremental = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBremoval = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFriendGroups = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMemberships = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bincremental = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bremoval = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_friend_Groups = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_memberships = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientFriendsList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Friend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEfriendrelationship = function () {
return this[field.name];
}n/a
getUlfriendid = function () {
return this[field.name];
}n/a
get_efriendrelationship = function () {
return this[field.name];
}n/a
get_ulfriendid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEfriendrelationship = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUlfriendid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_efriendrelationship = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ulfriendid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getActiveFriendCount = function () {
return this[field.name];
}n/a
getBincremental = function () {
return this[field.name];
}n/a
getFriends = function () {
return this[field.name];
}n/a
getFriendsLimitHit = function () {
return this[field.name];
}n/a
getMaxFriendCount = function () {
return this[field.name];
}n/a
get_active_friend_count = function () {
return this[field.name];
}n/a
get_bincremental = function () {
return this[field.name];
}n/a
get_friends = function () {
return this[field.name];
}n/a
get_friends_limit_hit = function () {
return this[field.name];
}n/a
get_max_friend_count = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setActiveFriendCount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBincremental = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFriends = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFriendsLimitHit = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMaxFriendCount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_active_friend_count = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bincremental = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_friends = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_friends_limit_hit = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_max_friend_count = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGMSServerQuery = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getFilterText = function () {
return this[field.name];
}n/a
getGeoLocationIp = function () {
return this[field.name];
}n/a
getMaxServers = function () {
return this[field.name];
}n/a
getRegionCode = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_filter_text = function () {
return this[field.name];
}n/a
get_geo_location_ip = function () {
return this[field.name];
}n/a
get_max_servers = function () {
return this[field.name];
}n/a
get_region_code = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilterText = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGeoLocationIp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMaxServers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRegionCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filter_text = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_geo_location_ip = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_max_servers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_region_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGameConnectTokens = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getMaxTokensToKeep = function () {
return this[field.name];
}n/a
getTokens = function () {
return this[field.name];
}n/a
get_max_tokens_to_keep = function () {
return this[field.name];
}n/a
get_tokens = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setMaxTokensToKeep = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTokens = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_max_tokens_to_keep = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tokens = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGamesPlayed = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
GamePlayed = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getGameDataBlob = function () {
return this[field.name];
}n/a
getGameExtraInfo = function () {
return this[field.name];
}n/a
getGameFlags = function () {
return this[field.name];
}n/a
getGameId = function () {
return this[field.name];
}n/a
getGameIpAddress = function () {
return this[field.name];
}n/a
getGamePort = function () {
return this[field.name];
}n/a
getIsSecure = function () {
return this[field.name];
}n/a
getOwnerId = function () {
return this[field.name];
}n/a
getProcessId = function () {
return this[field.name];
}n/a
getSteamIdGs = function () {
return this[field.name];
}n/a
getStreamingProviderId = function () {
return this[field.name];
}n/a
getToken = function () {
return this[field.name];
}n/a
get_game_data_blob = function () {
return this[field.name];
}n/a
get_game_extra_info = function () {
return this[field.name];
}n/a
get_game_flags = function () {
return this[field.name];
}n/a
get_game_id = function () {
return this[field.name];
}n/a
get_game_ip_address = function () {
return this[field.name];
}n/a
get_game_port = function () {
return this[field.name];
}n/a
get_is_secure = function () {
return this[field.name];
}n/a
get_owner_id = function () {
return this[field.name];
}n/a
get_process_id = function () {
return this[field.name];
}n/a
get_steam_id_gs = function () {
return this[field.name];
}n/a
get_streaming_provider_id = function () {
return this[field.name];
}n/a
get_token = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setGameDataBlob = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameExtraInfo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameIpAddress = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGamePort = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIsSecure = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOwnerId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setProcessId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdGs = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStreamingProviderId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_data_blob = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_extra_info = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_ip_address = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_port = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_is_secure = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_owner_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_process_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_gs = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_streaming_provider_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getClientOsType = function () {
return this[field.name];
}n/a
getGamesPlayed = function () {
return this[field.name];
}n/a
get_client_os_type = function () {
return this[field.name];
}n/a
get_games_played = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setClientOsType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGamesPlayed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_client_os_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_games_played = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetAppBetaPasswords = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetAppBetaPasswordsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
BetaPassword = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBetaname = function () {
return this[field.name];
}n/a
getBetapassword = function () {
return this[field.name];
}n/a
get_betaname = function () {
return this[field.name];
}n/a
get_betapassword = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBetaname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBetapassword = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_betaname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_betapassword = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getBetapasswords = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_betapasswords = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBetapasswords = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_betapasswords = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetAppOwnershipTicket = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetAppOwnershipTicketResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getTicket = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_ticket = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTicket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ticket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetAuthorizedDevices = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetAuthorizedDevicesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
AuthorizedDevice = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppPlayed = function () {
return this[field.name];
}n/a
getAuthDeviceToken = function () {
return this[field.name];
}n/a
getBorrowerId = function () {
return this[field.name];
}n/a
getDeviceName = function () {
return this[field.name];
}n/a
getIsPending = function () {
return this[field.name];
}n/a
getLastAccessTime = function () {
return this[field.name];
}n/a
get_app_played = function () {
return this[field.name];
}n/a
get_auth_device_token = function () {
return this[field.name];
}n/a
get_borrower_id = function () {
return this[field.name];
}n/a
get_device_name = function () {
return this[field.name];
}n/a
get_is_pending = function () {
return this[field.name];
}n/a
get_last_access_time = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppPlayed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAuthDeviceToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBorrowerId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDeviceName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIsPending = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastAccessTime = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_played = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_auth_device_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_borrower_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_device_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_is_pending = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_access_time = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAuthorizedDevice = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_authorized_device = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAuthorizedDevice = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_authorized_device = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetCDNAuthToken = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getHostName = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_host_name = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHostName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_host_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetCDNAuthTokenResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getExpirationTime = function () {
return this[field.name];
}n/a
getToken = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_expiration_time = function () {
return this[field.name];
}n/a
get_token = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setExpirationTime = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_expiration_time = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetClanActivityCounts = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getSteamidClans = function () {
return this[field.name];
}n/a
get_steamid_clans = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setSteamidClans = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_clans = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetClanActivityCountsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetClientAppList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getGames = function () {
return this[field.name];
}n/a
getMedia = function () {
return this[field.name];
}n/a
getOnlyChanging = function () {
return this[field.name];
}n/a
getOnlyInstalled = function () {
return this[field.name];
}n/a
getTools = function () {
return this[field.name];
}n/a
get_games = function () {
return this[field.name];
}n/a
get_media = function () {
return this[field.name];
}n/a
get_only_changing = function () {
return this[field.name];
}n/a
get_only_installed = function () {
return this[field.name];
}n/a
get_tools = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setGames = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMedia = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOnlyChanging = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOnlyInstalled = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTools = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_games = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_media = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_only_changing = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_only_installed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tools = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetClientAppListResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
App = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppType = function () {
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
getAutoUpdate = function () {
return this[field.name];
}n/a
getAvailableOnPlatform = function () {
return this[field.name];
}n/a
getBytesDownloadRate = function () {
return this[field.name];
}n/a
getBytesDownloaded = function () {
return this[field.name];
}n/a
getBytesNeeded = function () {
return this[field.name];
}n/a
getCategory = function () {
return this[field.name];
}n/a
getChanging = function () {
return this[field.name];
}n/a
getDlcs = function () {
return this[field.name];
}n/a
getDownloadPaused = function () {
return this[field.name];
}n/a
getFavorite = function () {
return this[field.name];
}n/a
getInstalled = function () {
return this[field.name];
}n/a
getNumDownloading = function () {
return this[field.name];
}n/a
getNumPaused = function () {
return this[field.name];
}n/a
get_app_type = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
get_auto_update = function () {
return this[field.name];
}n/a
get_available_on_platform = function () {
return this[field.name];
}n/a
get_bytes_download_rate = function () {
return this[field.name];
}n/a
get_bytes_downloaded = function () {
return this[field.name];
}n/a
get_bytes_needed = function () {
return this[field.name];
}n/a
get_category = function () {
return this[field.name];
}n/a
get_changing = function () {
return this[field.name];
}n/a
get_dlcs = function () {
return this[field.name];
}n/a
get_download_paused = function () {
return this[field.name];
}n/a
get_favorite = function () {
return this[field.name];
}n/a
get_installed = function () {
return this[field.name];
}n/a
get_num_downloading = function () {
return this[field.name];
}n/a
get_num_paused = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAutoUpdate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAvailableOnPlatform = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBytesDownloadRate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBytesDownloaded = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBytesNeeded = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCategory = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setChanging = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDlcs = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDownloadPaused = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFavorite = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setInstalled = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNumDownloading = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNumPaused = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_auto_update = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_available_on_platform = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_download_rate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_downloaded = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_needed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_category = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_changing = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_dlcs = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_download_paused = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_favorite = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_installed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_num_downloading = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_num_paused = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getApps = function () {
return this[field.name];
}n/a
getBytesAvailable = function () {
return this[field.name];
}n/a
get_apps = function () {
return this[field.name];
}n/a
get_bytes_available = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setApps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBytesAvailable = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_apps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_available = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetClientDetails = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetClientDetailsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Game = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
getExtraInfo = function () {
return this[field.name];
}n/a
getTimeRunningSec = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
get_extra_info = function () {
return this[field.name];
}n/a
get_time_running_sec = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setExtraInfo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeRunningSec = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_extra_info = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_running_sec = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBytesAvailable = function () {
return this[field.name];
}n/a
getGamesRunning = function () {
return this[field.name];
}n/a
getIpPrivate = function () {
return this[field.name];
}n/a
getIpPublic = function () {
return this[field.name];
}n/a
getMachineName = function () {
return this[field.name];
}n/a
getOs = function () {
return this[field.name];
}n/a
getPackageVersion = function () {
return this[field.name];
}n/a
getProtocolVersion = function () {
return this[field.name];
}n/a
get_bytes_available = function () {
return this[field.name];
}n/a
get_games_running = function () {
return this[field.name];
}n/a
get_ip_private = function () {
return this[field.name];
}n/a
get_ip_public = function () {
return this[field.name];
}n/a
get_machine_name = function () {
return this[field.name];
}n/a
get_os = function () {
return this[field.name];
}n/a
get_package_version = function () {
return this[field.name];
}n/a
get_protocol_version = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBytesAvailable = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGamesRunning = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIpPrivate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIpPublic = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMachineName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOs = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageVersion = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setProtocolVersion = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_available = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_games_running = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ip_private = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ip_public = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_machine_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_os = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_package_version = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_protocol_version = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetDepotDecryptionKey = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getDepotId = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_depot_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDepotId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_depot_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetDepotDecryptionKeyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getDepotEncryptionKey = function () {
return this[field.name];
}n/a
getDepotId = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_depot_encryption_key = function () {
return this[field.name];
}n/a
get_depot_id = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setDepotEncryptionKey = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDepotId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_depot_encryption_key = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_depot_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetEmoticonList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetUserStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCrcStats = function () {
return this[field.name];
}n/a
getGameId = function () {
return this[field.name];
}n/a
getSchemaLocalVersion = function () {
return this[field.name];
}n/a
getSteamIdForUser = function () {
return this[field.name];
}n/a
get_crc_stats = function () {
return this[field.name];
}n/a
get_game_id = function () {
return this[field.name];
}n/a
get_schema_local_version = function () {
return this[field.name];
}n/a
get_steam_id_for_user = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCrcStats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSchemaLocalVersion = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdForUser = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_crc_stats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_schema_local_version = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_for_user = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientGetUserStatsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Achievement_Blocks = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Stats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAchievementId = function () {
return this[field.name];
}n/a
getUnlockTime = function () {
return this[field.name];
}n/a
get_achievement_id = function () {
return this[field.name];
}n/a
get_unlock_time = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAchievementId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUnlockTime = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_achievement_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_unlock_time = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getStatId = function () {
return this[field.name];
}n/a
getStatValue = function () {
return this[field.name];
}n/a
get_stat_id = function () {
return this[field.name];
}n/a
get_stat_value = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setStatId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatValue = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stat_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stat_value = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAchievementBlocks = function () {
return this[field.name];
}n/a
getCrcStats = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getGameId = function () {
return this[field.name];
}n/a
getSchema = function () {
return this[field.name];
}n/a
getStats = function () {
return this[field.name];
}n/a
get_achievement_blocks = function () {
return this[field.name];
}n/a
get_crc_stats = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_game_id = function () {
return this[field.name];
}n/a
get_schema = function () {
return this[field.name];
}n/a
get_stats = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAchievementBlocks = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCrcStats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSchema = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_achievement_blocks = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_crc_stats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_schema = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientHeartBeat = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}...
if (eresult == Steam.EResult.OK) {
var hbDelay = logonResp.out_of_game_heartbeat_seconds;
this._heartBeatFunc = setInterval(function() {
this.send({
msg: EMsg.ClientHeartBeat,
proto: {}
}, new schema.CMsgClientHeartBeat().toBuffer());
}.bind(this), hbDelay * 1000);
this.loggedOn = true;
}
this.emit('logOnResponse', Steam._processProto(logonResp));
};
...decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientHideFriend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getFriendid = function () {
return this[field.name];
}n/a
getHide = function () {
return this[field.name];
}n/a
get_friendid = function () {
return this[field.name];
}n/a
get_hide = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setFriendid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHide = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_friendid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_hide = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientInstallClientApp = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientInstallClientAppResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getResult = function () {
return this[field.name];
}n/a
get_result = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setResult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_result = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientIsLimitedAccount = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBisCommunityBanned = function () {
return this[field.name];
}n/a
getBisLimitedAccount = function () {
return this[field.name];
}n/a
getBisLimitedAccountAllowedToInviteFriends = function () {
return this[field.name];
}n/a
getBisLockedAccount = function () {
return this[field.name];
}n/a
get_bis_community_banned = function () {
return this[field.name];
}n/a
get_bis_limited_account = function () {
return this[field.name];
}n/a
get_bis_limited_account_allowed_to_invite_friends = function () {
return this[field.name];
}n/a
get_bis_locked_account = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBisCommunityBanned = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBisLimitedAccount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBisLimitedAccountAllowedToInviteFriends = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBisLockedAccount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bis_community_banned = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bis_limited_account = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bis_limited_account_allowed_to_invite_friends = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bis_locked_account = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientItemAnnouncements = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCountNewItems = function () {
return this[field.name];
}n/a
get_count_new_items = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCountNewItems = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_count_new_items = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientKickPlayingSession = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getOnlyStopGame = function () {
return this[field.name];
}n/a
get_only_stop_game = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setOnlyStopGame = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_only_stop_game = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLBSFindOrCreateLB = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getCreateIfNotFound = function () {
return this[field.name];
}n/a
getLeaderboardDisplayType = function () {
return this[field.name];
}n/a
getLeaderboardName = function () {
return this[field.name];
}n/a
getLeaderboardSortMethod = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_create_if_not_found = function () {
return this[field.name];
}n/a
get_leaderboard_display_type = function () {
return this[field.name];
}n/a
get_leaderboard_name = function () {
return this[field.name];
}n/a
get_leaderboard_sort_method = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCreateIfNotFound = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardDisplayType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardSortMethod = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_create_if_not_found = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_display_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_sort_method = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLBSFindOrCreateLBResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getLeaderboardDisplayType = function () {
return this[field.name];
}n/a
getLeaderboardEntryCount = function () {
return this[field.name];
}n/a
getLeaderboardId = function () {
return this[field.name];
}n/a
getLeaderboardName = function () {
return this[field.name];
}n/a
getLeaderboardSortMethod = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_leaderboard_display_type = function () {
return this[field.name];
}n/a
get_leaderboard_entry_count = function () {
return this[field.name];
}n/a
get_leaderboard_id = function () {
return this[field.name];
}n/a
get_leaderboard_name = function () {
return this[field.name];
}n/a
get_leaderboard_sort_method = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardDisplayType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardEntryCount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardSortMethod = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_display_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_entry_count = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_sort_method = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLBSGetLBEntries = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getLeaderboardDataRequest = function () {
return this[field.name];
}n/a
getLeaderboardId = function () {
return this[field.name];
}n/a
getRangeEnd = function () {
return this[field.name];
}n/a
getRangeStart = function () {
return this[field.name];
}n/a
getSteamids = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_leaderboard_data_request = function () {
return this[field.name];
}n/a
get_leaderboard_id = function () {
return this[field.name];
}n/a
get_range_end = function () {
return this[field.name];
}n/a
get_range_start = function () {
return this[field.name];
}n/a
get_steamids = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardDataRequest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRangeEnd = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRangeStart = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_data_request = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_range_end = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_range_start = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLBSGetLBEntriesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Entry = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getDetails = function () {
return this[field.name];
}n/a
getGlobalRank = function () {
return this[field.name];
}n/a
getScore = function () {
return this[field.name];
}n/a
getSteamIdUser = function () {
return this[field.name];
}n/a
getUgcId = function () {
return this[field.name];
}n/a
get_details = function () {
return this[field.name];
}n/a
get_global_rank = function () {
return this[field.name];
}n/a
get_score = function () {
return this[field.name];
}n/a
get_steam_id_user = function () {
return this[field.name];
}n/a
get_ugc_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setDetails = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGlobalRank = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setScore = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdUser = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUgcId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_details = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_global_rank = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_score = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_user = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ugc_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEntries = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getLeaderboardEntryCount = function () {
return this[field.name];
}n/a
get_entries = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_leaderboard_entry_count = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEntries = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardEntryCount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_entries = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_entry_count = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLBSSetScore = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getDetails = function () {
return this[field.name];
}n/a
getLeaderboardId = function () {
return this[field.name];
}n/a
getScore = function () {
return this[field.name];
}n/a
getUploadScoreMethod = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_details = function () {
return this[field.name];
}n/a
get_leaderboard_id = function () {
return this[field.name];
}n/a
get_score = function () {
return this[field.name];
}n/a
get_upload_score_method = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDetails = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setScore = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUploadScoreMethod = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_details = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_score = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_upload_score_method = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLBSSetScoreResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getGlobalRankNew = function () {
return this[field.name];
}n/a
getGlobalRankPrevious = function () {
return this[field.name];
}n/a
getLeaderboardEntryCount = function () {
return this[field.name];
}n/a
getScoreChanged = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_global_rank_new = function () {
return this[field.name];
}n/a
get_global_rank_previous = function () {
return this[field.name];
}n/a
get_leaderboard_entry_count = function () {
return this[field.name];
}n/a
get_score_changed = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGlobalRankNew = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGlobalRankPrevious = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardEntryCount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setScoreChanged = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_global_rank_new = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_global_rank_previous = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_entry_count = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_score_changed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLBSSetUGC = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getLeaderboardId = function () {
return this[field.name];
}n/a
getUgcId = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_leaderboard_id = function () {
return this[field.name];
}n/a
get_ugc_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLeaderboardId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUgcId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_leaderboard_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ugc_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLBSSetUGCResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLicenseList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
License = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getChangeNumber = function () {
return this[field.name];
}n/a
getFlags = function () {
return this[field.name];
}n/a
getLicenseType = function () {
return this[field.name];
}n/a
getMinuteLimit = function () {
return this[field.name];
}n/a
getMinutesUsed = function () {
return this[field.name];
}n/a
getOwnerId = function () {
return this[field.name];
}n/a
getPackageId = function () {
return this[field.name];
}n/a
getPaymentMethod = function () {
return this[field.name];
}n/a
getPurchaseCountryCode = function () {
return this[field.name];
}n/a
getTerritoryCode = function () {
return this[field.name];
}n/a
getTimeCreated = function () {
return this[field.name];
}n/a
getTimeNextProcess = function () {
return this[field.name];
}n/a
get_change_number = function () {
return this[field.name];
}n/a
get_flags = function () {
return this[field.name];
}n/a
get_license_type = function () {
return this[field.name];
}n/a
get_minute_limit = function () {
return this[field.name];
}n/a
get_minutes_used = function () {
return this[field.name];
}n/a
get_owner_id = function () {
return this[field.name];
}n/a
get_package_id = function () {
return this[field.name];
}n/a
get_payment_method = function () {
return this[field.name];
}n/a
get_purchase_country_code = function () {
return this[field.name];
}n/a
get_territory_code = function () {
return this[field.name];
}n/a
get_time_created = function () {
return this[field.name];
}n/a
get_time_next_process = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setChangeNumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLicenseType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMinuteLimit = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMinutesUsed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOwnerId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPaymentMethod = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPurchaseCountryCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTerritoryCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeCreated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeNextProcess = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_change_number = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_license_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_minute_limit = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_minutes_used = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_owner_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_package_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_payment_method = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_purchase_country_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_territory_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_created = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_next_process = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getLicenses = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_licenses = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLicenses = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_licenses = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLogOff = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLoggedOff = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLogon = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccountName = function () {
return this[field.name];
}n/a
getAnonUserTargetAccountName = function () {
return this[field.name];
}n/a
getAuthCode = function () {
return this[field.name];
}n/a
getCellId = function () {
return this[field.name];
}n/a
getClientInstanceId = function () {
return this[field.name];
}n/a
getClientLanguage = function () {
return this[field.name];
}n/a
getClientOsType = function () {
return this[field.name];
}n/a
getClientPackageVersion = function () {
return this[field.name];
}n/a
getClientSuppliedSteamId = function () {
return this[field.name];
}n/a
getCountryOverride = function () {
return this[field.name];
}n/a
getCreateNewPsnLinkedAccountIfNeeded = function () {
return this[field.name];
}n/a
getEmailAddress = function () {
return this[field.name];
}n/a
getEresultSentryfile = function () {
return this[field.name];
}n/a
getGameServerAppId = function () {
return this[field.name];
}n/a
getGameServerToken = function () {
return this[field.name];
}n/a
getIsSteamBox = function () {
return this[field.name];
}n/a
getLastSessionId = function () {
return this[field.name];
}n/a
getLauncherType = function () {
return this[field.name];
}n/a
getLoginKey = function () {
return this[field.name];
}n/a
getMachineId = function () {
return this[field.name];
}n/a
getMachineName = function () {
return this[field.name];
}n/a
getMachineNameUserchosen = function () {
return this[field.name];
}n/a
getObfustucatedPrivateIp = function () {
return this[field.name];
}n/a
getOtpIdentifier = function () {
return this[field.name];
}n/a
getOtpType = function () {
return this[field.name];
}n/a
getOtpValue = function () {
return this[field.name];
}n/a
getPassword = function () {
return this[field.name];
}n/a
getPingMsFromCellSearch = function () {
return this[field.name];
}n/a
getProtocolVersion = function () {
return this[field.name];
}n/a
getPublicIp = function () {
return this[field.name];
}n/a
getQosLevel = function () {
return this[field.name];
}n/a
getResolvedUserSteamId = function () {
return this[field.name];
}n/a
getRtime32AccountCreation = function () {
return this[field.name];
}n/a
getShaSentryfile = function () {
return this[field.name];
}n/a
getShouldRememberPassword = function () {
return this[field.name];
}n/a
getSonyPsnName = function () {
return this[field.name];
}n/a
getSonyPsnServiceId = function () {
return this[field.name];
}n/a
getSonyPsnTicket = function () {
return this[field.name];
}n/a
getSteam2AuthTicket = function () {
return this[field.name];
}n/a
getSteam2TicketRequest = function () {
return this[field.name];
}n/a
getSteamguardDontRememberComputer = function () {
return this[field.name];
}n/a
getTwoFactorCode = function () {
return this[field.name];
}n/a
getUiMode = function () {
return this[field.name];
}n/a
getWasConvertedDeprecatedMsg = function () {
return this[field.name];
}n/a
getWineVersion = function () {
return this[field.name];
}n/a
get_account_name = function () {
return this[field.name];
}n/a
get_anon_user_target_account_name = function () {
return this[field.name];
}n/a
get_auth_code = function () {
return this[field.name];
}n/a
get_cell_id = function () {
return this[field.name];
}n/a
get_client_instance_id = function () {
return this[field.name];
}n/a
get_client_language = function () {
return this[field.name];
}n/a
get_client_os_type = function () {
return this[field.name];
}n/a
get_client_package_version = function () {
return this[field.name];
}n/a
get_client_supplied_steam_id = function () {
return this[field.name];
}n/a
get_country_override = function () {
return this[field.name];
}n/a
get_create_new_psn_linked_account_if_needed = function () {
return this[field.name];
}n/a
get_email_address = function () {
return this[field.name];
}n/a
get_eresult_sentryfile = function () {
return this[field.name];
}n/a
get_game_server_app_id = function () {
return this[field.name];
}n/a
get_game_server_token = function () {
return this[field.name];
}n/a
get_is_steam_box = function () {
return this[field.name];
}n/a
get_last_session_id = function () {
return this[field.name];
}n/a
get_launcher_type = function () {
return this[field.name];
}n/a
get_login_key = function () {
return this[field.name];
}n/a
get_machine_id = function () {
return this[field.name];
}n/a
get_machine_name = function () {
return this[field.name];
}n/a
get_machine_name_userchosen = function () {
return this[field.name];
}n/a
get_obfustucated_private_ip = function () {
return this[field.name];
}n/a
get_otp_identifier = function () {
return this[field.name];
}n/a
get_otp_type = function () {
return this[field.name];
}n/a
get_otp_value = function () {
return this[field.name];
}n/a
get_password = function () {
return this[field.name];
}n/a
get_ping_ms_from_cell_search = function () {
return this[field.name];
}n/a
get_protocol_version = function () {
return this[field.name];
}n/a
get_public_ip = function () {
return this[field.name];
}n/a
get_qos_level = function () {
return this[field.name];
}n/a
get_resolved_user_steam_id = function () {
return this[field.name];
}n/a
get_rtime32_account_creation = function () {
return this[field.name];
}n/a
get_sha_sentryfile = function () {
return this[field.name];
}n/a
get_should_remember_password = function () {
return this[field.name];
}n/a
get_sony_psn_name = function () {
return this[field.name];
}n/a
get_sony_psn_service_id = function () {
return this[field.name];
}n/a
get_sony_psn_ticket = function () {
return this[field.name];
}n/a
get_steam2_auth_ticket = function () {
return this[field.name];
}n/a
get_steam2_ticket_request = function () {
return this[field.name];
}n/a
get_steamguard_dont_remember_computer = function () {
return this[field.name];
}n/a
get_two_factor_code = function () {
return this[field.name];
}n/a
get_ui_mode = function () {
return this[field.name];
}n/a
get_was_converted_deprecated_msg = function () {
return this[field.name];
}n/a
get_wine_version = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccountName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAnonUserTargetAccountName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAuthCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCellId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setClientInstanceId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setClientLanguage = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setClientOsType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setClientPackageVersion = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setClientSuppliedSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCountryOverride = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCreateNewPsnLinkedAccountIfNeeded = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEmailAddress = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresultSentryfile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameServerAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameServerToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIsSteamBox = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastSessionId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLauncherType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLoginKey = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMachineId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMachineName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMachineNameUserchosen = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setObfustucatedPrivateIp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpIdentifier = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpValue = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPassword = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPingMsFromCellSearch = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setProtocolVersion = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublicIp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setQosLevel = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setResolvedUserSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRtime32AccountCreation = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaSentryfile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShouldRememberPassword = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSonyPsnName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSonyPsnServiceId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSonyPsnTicket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteam2AuthTicket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteam2TicketRequest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamguardDontRememberComputer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTwoFactorCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUiMode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setWasConvertedDeprecatedMsg = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setWineVersion = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_account_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_anon_user_target_account_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_auth_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cell_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_client_instance_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_client_language = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_client_os_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_client_package_version = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_client_supplied_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_country_override = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_create_new_psn_linked_account_if_needed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_email_address = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult_sentryfile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_server_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_server_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_is_steam_box = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_session_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_launcher_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_login_key = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_machine_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_machine_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_machine_name_userchosen = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_obfustucated_private_ip = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_identifier = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_value = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_password = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ping_ms_from_cell_search = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_protocol_version = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_public_ip = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_qos_level = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_resolved_user_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rtime32_account_creation = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_sentryfile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_should_remember_password = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sony_psn_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sony_psn_service_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sony_psn_ticket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam2_auth_ticket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam2_ticket_request = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamguard_dont_remember_computer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_two_factor_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ui_mode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_was_converted_deprecated_msg = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_wine_version = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientLogonResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccountFlags = function () {
return this[field.name];
}n/a
getCellId = function () {
return this[field.name];
}n/a
getCellIdPingThreshold = function () {
return this[field.name];
}n/a
getClientInstanceId = function () {
return this[field.name];
}n/a
getClientSuppliedSteamid = function () {
return this[field.name];
}n/a
getCountDisconnectsToMigrate = function () {
return this[field.name];
}n/a
getCountLoginfailuresToMigrate = function () {
return this[field.name];
}n/a
getEmailDomain = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getEresultExtended = function () {
return this[field.name];
}n/a
getInGameHeartbeatSeconds = function () {
return this[field.name];
}n/a
getIpCountryCode = function () {
return this[field.name];
}n/a
getOgsDataReportTimeWindow = function () {
return this[field.name];
}n/a
getOutOfGameHeartbeatSeconds = function () {
return this[field.name];
}n/a
getParentalSettingSignature = function () {
return this[field.name];
}n/a
getParentalSettings = function () {
return this[field.name];
}n/a
getPublicIp = function () {
return this[field.name];
}n/a
getRtime32ServerTime = function () {
return this[field.name];
}n/a
getSteam2Ticket = function () {
return this[field.name];
}n/a
getUsePics = function () {
return this[field.name];
}n/a
getVanityUrl = function () {
return this[field.name];
}n/a
getWebapiAuthenticateUserNonce = function () {
return this[field.name];
}n/a
get_account_flags = function () {
return this[field.name];
}n/a
get_cell_id = function () {
return this[field.name];
}n/a
get_cell_id_ping_threshold = function () {
return this[field.name];
}n/a
get_client_instance_id = function () {
return this[field.name];
}n/a
get_client_supplied_steamid = function () {
return this[field.name];
}n/a
get_count_disconnects_to_migrate = function () {
return this[field.name];
}n/a
get_count_loginfailures_to_migrate = function () {
return this[field.name];
}n/a
get_email_domain = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_eresult_extended = function () {
return this[field.name];
}n/a
get_in_game_heartbeat_seconds = function () {
return this[field.name];
}n/a
get_ip_country_code = function () {
return this[field.name];
}n/a
get_ogs_data_report_time_window = function () {
return this[field.name];
}n/a
get_out_of_game_heartbeat_seconds = function () {
return this[field.name];
}n/a
get_parental_setting_signature = function () {
return this[field.name];
}n/a
get_parental_settings = function () {
return this[field.name];
}n/a
get_public_ip = function () {
return this[field.name];
}n/a
get_rtime32_server_time = function () {
return this[field.name];
}n/a
get_steam2_ticket = function () {
return this[field.name];
}n/a
get_use_pics = function () {
return this[field.name];
}n/a
get_vanity_url = function () {
return this[field.name];
}n/a
get_webapi_authenticate_user_nonce = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccountFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCellId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCellIdPingThreshold = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setClientInstanceId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setClientSuppliedSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCountDisconnectsToMigrate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCountLoginfailuresToMigrate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEmailDomain = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresultExtended = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setInGameHeartbeatSeconds = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIpCountryCode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOgsDataReportTimeWindow = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOutOfGameHeartbeatSeconds = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setParentalSettingSignature = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setParentalSettings = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublicIp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRtime32ServerTime = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteam2Ticket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUsePics = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVanityUrl = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setWebapiAuthenticateUserNonce = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_account_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cell_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cell_id_ping_threshold = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_client_instance_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_client_supplied_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_count_disconnects_to_migrate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_count_loginfailures_to_migrate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_email_domain = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult_extended = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_in_game_heartbeat_seconds = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ip_country_code = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ogs_data_report_time_window = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_out_of_game_heartbeat_seconds = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_parental_setting_signature = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_parental_settings = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_public_ip = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rtime32_server_time = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam2_ticket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_use_pics = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_vanity_url = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_webapi_authenticate_user_nonce = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSCreateLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getCellId = function () {
return this[field.name];
}n/a
getLobbyFlags = function () {
return this[field.name];
}n/a
getLobbyType = function () {
return this[field.name];
}n/a
getMaxMembers = function () {
return this[field.name];
}n/a
getMetadata = function () {
return this[field.name];
}n/a
getPersonaNameOwner = function () {
return this[field.name];
}n/a
getPublicIp = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_cell_id = function () {
return this[field.name];
}n/a
get_lobby_flags = function () {
return this[field.name];
}n/a
get_lobby_type = function () {
return this[field.name];
}n/a
get_max_members = function () {
return this[field.name];
}n/a
get_metadata = function () {
return this[field.name];
}n/a
get_persona_name_owner = function () {
return this[field.name];
}n/a
get_public_ip = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCellId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMaxMembers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMetadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaNameOwner = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublicIp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cell_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_max_members = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_metadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_name_owner = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_public_ip = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSCreateLobbyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSGetLobbyData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSGetLobbyList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Filter = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getComparision = function () {
return this[field.name];
}n/a
getFilterType = function () {
return this[field.name];
}n/a
getKey = function () {
return this[field.name];
}n/a
getValue = function () {
return this[field.name];
}n/a
get_comparision = function () {
return this[field.name];
}n/a
get_filter_type = function () {
return this[field.name];
}n/a
get_key = function () {
return this[field.name];
}n/a
get_value = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setComparision = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilterType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setKey = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setValue = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_comparision = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filter_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_key = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_value = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getCellId = function () {
return this[field.name];
}n/a
getFilters = function () {
return this[field.name];
}n/a
getNumLobbiesRequested = function () {
return this[field.name];
}n/a
getPublicIp = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_cell_id = function () {
return this[field.name];
}n/a
get_filters = function () {
return this[field.name];
}n/a
get_num_lobbies_requested = function () {
return this[field.name];
}n/a
get_public_ip = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCellId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilters = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNumLobbiesRequested = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublicIp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cell_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filters = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_num_lobbies_requested = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_public_ip = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSGetLobbyListResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Lobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getDistance = function () {
return this[field.name];
}n/a
getLobbyFlags = function () {
return this[field.name];
}n/a
getLobbyType = function () {
return this[field.name];
}n/a
getMaxMembers = function () {
return this[field.name];
}n/a
getMetadata = function () {
return this[field.name];
}n/a
getNumMembers = function () {
return this[field.name];
}n/a
getSteamId = function () {
return this[field.name];
}n/a
getWeight = function () {
return this[field.name];
}n/a
get_distance = function () {
return this[field.name];
}n/a
get_lobby_flags = function () {
return this[field.name];
}n/a
get_lobby_type = function () {
return this[field.name];
}n/a
get_max_members = function () {
return this[field.name];
}n/a
get_metadata = function () {
return this[field.name];
}n/a
get_num_members = function () {
return this[field.name];
}n/a
get_steam_id = function () {
return this[field.name];
}n/a
get_weight = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setDistance = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMaxMembers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMetadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNumMembers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setWeight = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_distance = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_max_members = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_metadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_num_members = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_weight = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getLobbies = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_lobbies = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbies = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobbies = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSInviteToLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
getSteamIdUserInvited = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
get_steam_id_user_invited = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdUserInvited = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_user_invited = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSJoinLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getPersonaName = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_persona_name = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSJoinLobbyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Member = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getMetadata = function () {
return this[field.name];
}n/a
getPersonaName = function () {
return this[field.name];
}n/a
getSteamId = function () {
return this[field.name];
}n/a
get_metadata = function () {
return this[field.name];
}n/a
get_persona_name = function () {
return this[field.name];
}n/a
get_steam_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setMetadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_metadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getChatRoomEnterResponse = function () {
return this[field.name];
}n/a
getLobbyFlags = function () {
return this[field.name];
}n/a
getLobbyType = function () {
return this[field.name];
}n/a
getMaxMembers = function () {
return this[field.name];
}n/a
getMembers = function () {
return this[field.name];
}n/a
getMetadata = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
getSteamIdOwner = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_chat_room_enter_response = function () {
return this[field.name];
}n/a
get_lobby_flags = function () {
return this[field.name];
}n/a
get_lobby_type = function () {
return this[field.name];
}n/a
get_max_members = function () {
return this[field.name];
}n/a
get_members = function () {
return this[field.name];
}n/a
get_metadata = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
get_steam_id_owner = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setChatRoomEnterResponse = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMaxMembers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMembers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMetadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdOwner = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_chat_room_enter_response = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_max_members = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_members = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_metadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_owner = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSLeaveLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSLeaveLobbyResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSLobbyChatMsg = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getLobbyMessage = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
getSteamIdSender = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_lobby_message = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
get_steam_id_sender = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyMessage = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdSender = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_message = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_sender = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSLobbyData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Member = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getMetadata = function () {
return this[field.name];
}n/a
getPersonaName = function () {
return this[field.name];
}n/a
getSteamId = function () {
return this[field.name];
}n/a
get_metadata = function () {
return this[field.name];
}n/a
get_persona_name = function () {
return this[field.name];
}n/a
get_steam_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setMetadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_metadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getLobbyCellid = function () {
return this[field.name];
}n/a
getLobbyFlags = function () {
return this[field.name];
}n/a
getLobbyType = function () {
return this[field.name];
}n/a
getMaxMembers = function () {
return this[field.name];
}n/a
getMembers = function () {
return this[field.name];
}n/a
getMetadata = function () {
return this[field.name];
}n/a
getNumMembers = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
getSteamIdOwner = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_lobby_cellid = function () {
return this[field.name];
}n/a
get_lobby_flags = function () {
return this[field.name];
}n/a
get_lobby_type = function () {
return this[field.name];
}n/a
get_max_members = function () {
return this[field.name];
}n/a
get_members = function () {
return this[field.name];
}n/a
get_metadata = function () {
return this[field.name];
}n/a
get_num_members = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
get_steam_id_owner = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyCellid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMaxMembers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMembers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMetadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNumMembers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdOwner = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_cellid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_max_members = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_members = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_metadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_num_members = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_owner = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSLobbyGameServerSet = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getGameServerIp = function () {
return this[field.name];
}n/a
getGameServerPort = function () {
return this[field.name];
}n/a
getGameServerSteamId = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_game_server_ip = function () {
return this[field.name];
}n/a
get_game_server_port = function () {
return this[field.name];
}n/a
get_game_server_steam_id = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameServerIp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameServerPort = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameServerSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_server_ip = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_server_port = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_server_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSSendLobbyChatMsg = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getLobbyMessage = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
getSteamIdTarget = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_lobby_message = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
get_steam_id_target = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyMessage = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdTarget = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_message = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_target = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSSetLobbyData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getLobbyFlags = function () {
return this[field.name];
}n/a
getLobbyType = function () {
return this[field.name];
}n/a
getMaxMembers = function () {
return this[field.name];
}n/a
getMetadata = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
getSteamIdMember = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_lobby_flags = function () {
return this[field.name];
}n/a
get_lobby_type = function () {
return this[field.name];
}n/a
get_max_members = function () {
return this[field.name];
}n/a
get_metadata = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
get_steam_id_member = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLobbyType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMaxMembers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMetadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdMember = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lobby_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_max_members = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_metadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_member = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSSetLobbyDataResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSSetLobbyGameServer = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getGameServerIp = function () {
return this[field.name];
}n/a
getGameServerPort = function () {
return this[field.name];
}n/a
getGameServerSteamId = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_game_server_ip = function () {
return this[field.name];
}n/a
get_game_server_port = function () {
return this[field.name];
}n/a
get_game_server_steam_id = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameServerIp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameServerPort = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameServerSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_server_ip = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_server_port = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_server_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSSetLobbyLinked = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
getSteamIdLobby2 = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
get_steam_id_lobby2 = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby2 = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby2 = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSSetLobbyOwner = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
getSteamIdNewOwner = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
get_steam_id_new_owner = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdNewOwner = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_new_owner = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSSetLobbyOwnerResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSUserJoinedLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getPersonaName = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
getSteamIdUser = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_persona_name = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
get_steam_id_user = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdUser = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_user = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientMMSUserLeftLobby = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getPersonaName = function () {
return this[field.name];
}n/a
getSteamIdLobby = function () {
return this[field.name];
}n/a
getSteamIdUser = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_persona_name = function () {
return this[field.name];
}n/a
get_steam_id_lobby = function () {
return this[field.name];
}n/a
get_steam_id_user = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdLobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdUser = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_lobby = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_user = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientNewLoginKey = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getLoginKey = function () {
return this[field.name];
}n/a
getUniqueId = function () {
return this[field.name];
}n/a
get_login_key = function () {
return this[field.name];
}n/a
get_unique_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setLoginKey = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUniqueId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_login_key = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_unique_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientNewLoginKeyAccepted = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getUniqueId = function () {
return this[field.name];
}n/a
get_unique_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setUniqueId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_unique_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientOGSReportBug = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBugtext = function () {
return this[field.name];
}n/a
getScreenshot = function () {
return this[field.name];
}n/a
getSessionid = function () {
return this[field.name];
}n/a
get_bugtext = function () {
return this[field.name];
}n/a
get_screenshot = function () {
return this[field.name];
}n/a
get_sessionid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBugtext = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setScreenshot = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSessionid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bugtext = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_screenshot = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sessionid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientOGSReportString = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccumulated = function () {
return this[field.name];
}n/a
getFormatter = function () {
return this[field.name];
}n/a
getSessionid = function () {
return this[field.name];
}n/a
getSeverity = function () {
return this[field.name];
}n/a
getVarargs = function () {
return this[field.name];
}n/a
get_accumulated = function () {
return this[field.name];
}n/a
get_formatter = function () {
return this[field.name];
}n/a
get_sessionid = function () {
return this[field.name];
}n/a
get_severity = function () {
return this[field.name];
}n/a
get_varargs = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccumulated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFormatter = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSessionid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSeverity = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVarargs = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_accumulated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_formatter = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sessionid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_severity = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_varargs = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientOfflineMessageNotification = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getFriendsWithOfflineMessages = function () {
return this[field.name];
}n/a
getOfflineMessages = function () {
return this[field.name];
}n/a
get_friends_with_offline_messages = function () {
return this[field.name];
}n/a
get_offline_messages = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setFriendsWithOfflineMessages = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOfflineMessages = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_friends_with_offline_messages = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_offline_messages = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientP2PConnectionFailInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEp2pSessionError = function () {
return this[field.name];
}n/a
getSteamIdDest = function () {
return this[field.name];
}n/a
getSteamIdSrc = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_ep2p_session_error = function () {
return this[field.name];
}n/a
get_steam_id_dest = function () {
return this[field.name];
}n/a
get_steam_id_src = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEp2pSessionError = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdDest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdSrc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ep2p_session_error = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_dest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_src = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientP2PConnectionInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getCandidate = function () {
return this[field.name];
}n/a
getSteamIdDest = function () {
return this[field.name];
}n/a
getSteamIdSrc = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_candidate = function () {
return this[field.name];
}n/a
get_steam_id_dest = function () {
return this[field.name];
}n/a
get_steam_id_src = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCandidate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdDest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdSrc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_candidate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_dest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_src = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPICSAccessTokenRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppids = function () {
return this[field.name];
}n/a
getPackageids = function () {
return this[field.name];
}n/a
get_appids = function () {
return this[field.name];
}n/a
get_packageids = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_packageids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPICSAccessTokenResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
AppToken = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PackageToken = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccessToken = function () {
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
get_access_token = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccessToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_access_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccessToken = function () {
return this[field.name];
}n/a
getPackageid = function () {
return this[field.name];
}n/a
get_access_token = function () {
return this[field.name];
}n/a
get_packageid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccessToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_access_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_packageid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppAccessTokens = function () {
return this[field.name];
}n/a
getAppDeniedTokens = function () {
return this[field.name];
}n/a
getPackageAccessTokens = function () {
return this[field.name];
}n/a
getPackageDeniedTokens = function () {
return this[field.name];
}n/a
get_app_access_tokens = function () {
return this[field.name];
}n/a
get_app_denied_tokens = function () {
return this[field.name];
}n/a
get_package_access_tokens = function () {
return this[field.name];
}n/a
get_package_denied_tokens = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppAccessTokens = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAppDeniedTokens = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageAccessTokens = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageDeniedTokens = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_access_tokens = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_denied_tokens = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_package_access_tokens = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_package_denied_tokens = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPICSChangesSinceRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getNumAppInfoCached = function () {
return this[field.name];
}n/a
getNumPackageInfoCached = function () {
return this[field.name];
}n/a
getSendAppInfoChanges = function () {
return this[field.name];
}n/a
getSendPackageInfoChanges = function () {
return this[field.name];
}n/a
getSinceChangeNumber = function () {
return this[field.name];
}n/a
get_num_app_info_cached = function () {
return this[field.name];
}n/a
get_num_package_info_cached = function () {
return this[field.name];
}n/a
get_send_app_info_changes = function () {
return this[field.name];
}n/a
get_send_package_info_changes = function () {
return this[field.name];
}n/a
get_since_change_number = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setNumAppInfoCached = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNumPackageInfoCached = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSendAppInfoChanges = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSendPackageInfoChanges = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSinceChangeNumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_num_app_info_cached = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_num_package_info_cached = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_send_app_info_changes = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_send_package_info_changes = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_since_change_number = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPICSChangesSinceResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
AppChange = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PackageChange = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
getChangeNumber = function () {
return this[field.name];
}n/a
getNeedsToken = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
get_change_number = function () {
return this[field.name];
}n/a
get_needs_token = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setChangeNumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNeedsToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_change_number = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_needs_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getChangeNumber = function () {
return this[field.name];
}n/a
getNeedsToken = function () {
return this[field.name];
}n/a
getPackageid = function () {
return this[field.name];
}n/a
get_change_number = function () {
return this[field.name];
}n/a
get_needs_token = function () {
return this[field.name];
}n/a
get_packageid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setChangeNumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNeedsToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_change_number = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_needs_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_packageid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppChanges = function () {
return this[field.name];
}n/a
getCurrentChangeNumber = function () {
return this[field.name];
}n/a
getForceFullAppUpdate = function () {
return this[field.name];
}n/a
getForceFullPackageUpdate = function () {
return this[field.name];
}n/a
getForceFullUpdate = function () {
return this[field.name];
}n/a
getPackageChanges = function () {
return this[field.name];
}n/a
getSinceChangeNumber = function () {
return this[field.name];
}n/a
get_app_changes = function () {
return this[field.name];
}n/a
get_current_change_number = function () {
return this[field.name];
}n/a
get_force_full_app_update = function () {
return this[field.name];
}n/a
get_force_full_package_update = function () {
return this[field.name];
}n/a
get_force_full_update = function () {
return this[field.name];
}n/a
get_package_changes = function () {
return this[field.name];
}n/a
get_since_change_number = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppChanges = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCurrentChangeNumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setForceFullAppUpdate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setForceFullPackageUpdate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setForceFullUpdate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageChanges = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSinceChangeNumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_changes = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_current_change_number = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_force_full_app_update = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_force_full_package_update = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_force_full_update = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_package_changes = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_since_change_number = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPICSProductInfoRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
AppInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PackageInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccessToken = function () {
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
getOnlyPublic = function () {
return this[field.name];
}n/a
get_access_token = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
get_only_public = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccessToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOnlyPublic = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_access_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_only_public = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccessToken = function () {
return this[field.name];
}n/a
getPackageid = function () {
return this[field.name];
}n/a
get_access_token = function () {
return this[field.name];
}n/a
get_packageid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccessToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_access_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_packageid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getApps = function () {
return this[field.name];
}n/a
getMetaDataOnly = function () {
return this[field.name];
}n/a
getNumPrevFailed = function () {
return this[field.name];
}n/a
getPackages = function () {
return this[field.name];
}n/a
get_apps = function () {
return this[field.name];
}n/a
get_meta_data_only = function () {
return this[field.name];
}n/a
get_num_prev_failed = function () {
return this[field.name];
}n/a
get_packages = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setApps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMetaDataOnly = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNumPrevFailed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackages = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_apps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_meta_data_only = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_num_prev_failed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_packages = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPICSProductInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
AppInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PackageInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
getBuffer = function () {
return this[field.name];
}n/a
getChangeNumber = function () {
return this[field.name];
}n/a
getMissingToken = function () {
return this[field.name];
}n/a
getOnlyPublic = function () {
return this[field.name];
}n/a
getSha = function () {
return this[field.name];
}n/a
getSize = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
get_buffer = function () {
return this[field.name];
}n/a
get_change_number = function () {
return this[field.name];
}n/a
get_missing_token = function () {
return this[field.name];
}n/a
get_only_public = function () {
return this[field.name];
}n/a
get_sha = function () {
return this[field.name];
}n/a
get_size = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBuffer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setChangeNumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMissingToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOnlyPublic = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSha = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_buffer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_change_number = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_missing_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_only_public = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBuffer = function () {
return this[field.name];
}n/a
getChangeNumber = function () {
return this[field.name];
}n/a
getMissingToken = function () {
return this[field.name];
}n/a
getPackageid = function () {
return this[field.name];
}n/a
getSha = function () {
return this[field.name];
}n/a
getSize = function () {
return this[field.name];
}n/a
get_buffer = function () {
return this[field.name];
}n/a
get_change_number = function () {
return this[field.name];
}n/a
get_missing_token = function () {
return this[field.name];
}n/a
get_packageid = function () {
return this[field.name];
}n/a
get_sha = function () {
return this[field.name];
}n/a
get_size = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBuffer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setChangeNumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMissingToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSha = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_buffer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_change_number = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_missing_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_packageid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getApps = function () {
return this[field.name];
}n/a
getHttpHost = function () {
return this[field.name];
}n/a
getHttpMinSize = function () {
return this[field.name];
}n/a
getMetaDataOnly = function () {
return this[field.name];
}n/a
getPackages = function () {
return this[field.name];
}n/a
getResponsePending = function () {
return this[field.name];
}n/a
getUnknownAppids = function () {
return this[field.name];
}n/a
getUnknownPackageids = function () {
return this[field.name];
}n/a
get_apps = function () {
return this[field.name];
}n/a
get_http_host = function () {
return this[field.name];
}n/a
get_http_min_size = function () {
return this[field.name];
}n/a
get_meta_data_only = function () {
return this[field.name];
}n/a
get_packages = function () {
return this[field.name];
}n/a
get_response_pending = function () {
return this[field.name];
}n/a
get_unknown_appids = function () {
return this[field.name];
}n/a
get_unknown_packageids = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setApps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHttpHost = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHttpMinSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMetaDataOnly = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackages = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setResponsePending = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUnknownAppids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUnknownPackageids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_apps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_http_host = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_http_min_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_meta_data_only = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_packages = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_response_pending = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_unknown_appids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_unknown_packageids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPackageInfoRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getMetaDataOnly = function () {
return this[field.name];
}n/a
getPackageIds = function () {
return this[field.name];
}n/a
get_meta_data_only = function () {
return this[field.name];
}n/a
get_package_ids = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setMetaDataOnly = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageIds = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_meta_data_only = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_package_ids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPackageInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Package = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBuffer = function () {
return this[field.name];
}n/a
getChangeNumber = function () {
return this[field.name];
}n/a
getPackageId = function () {
return this[field.name];
}n/a
getSha = function () {
return this[field.name];
}n/a
get_buffer = function () {
return this[field.name];
}n/a
get_change_number = function () {
return this[field.name];
}n/a
get_package_id = function () {
return this[field.name];
}n/a
get_sha = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBuffer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setChangeNumber = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSha = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_buffer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_change_number = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_package_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPackages = function () {
return this[field.name];
}n/a
getPackagesPending = function () {
return this[field.name];
}n/a
getPackagesUnknown = function () {
return this[field.name];
}n/a
get_packages = function () {
return this[field.name];
}n/a
get_packages_pending = function () {
return this[field.name];
}n/a
get_packages_unknown = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPackages = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackagesPending = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackagesUnknown = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_packages = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_packages_pending = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_packages_unknown = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPersonaState = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Friend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAvatarHash = function () {
return this[field.name];
}n/a
getClanRank = function () {
return this[field.name];
}n/a
getClanTag = function () {
return this[field.name];
}n/a
getFacebookId = function () {
return this[field.name];
}n/a
getFacebookName = function () {
return this[field.name];
}n/a
getFriendid = function () {
return this[field.name];
}n/a
getGameDataBlob = function () {
return this[field.name];
}n/a
getGameName = function () {
return this[field.name];
}n/a
getGamePlayedAppId = function () {
return this[field.name];
}n/a
getGameServerIp = function () {
return this[field.name];
}n/a
getGameServerPort = function () {
return this[field.name];
}n/a
getGameid = function () {
return this[field.name];
}n/a
getLastLogoff = function () {
return this[field.name];
}n/a
getLastLogon = function () {
return this[field.name];
}n/a
getOnlineSessionInstances = function () {
return this[field.name];
}n/a
getPersonaSetByUser = function () {
return this[field.name];
}n/a
getPersonaState = function () {
return this[field.name];
}n/a
getPersonaStateFlags = function () {
return this[field.name];
}n/a
getPlayerName = function () {
return this[field.name];
}n/a
getPublishedInstanceId = function () {
return this[field.name];
}n/a
getQueryPort = function () {
return this[field.name];
}n/a
getSteamidSource = function () {
return this[field.name];
}n/a
get_avatar_hash = function () {
return this[field.name];
}n/a
get_clan_rank = function () {
return this[field.name];
}n/a
get_clan_tag = function () {
return this[field.name];
}n/a
get_facebook_id = function () {
return this[field.name];
}n/a
get_facebook_name = function () {
return this[field.name];
}n/a
get_friendid = function () {
return this[field.name];
}n/a
get_game_data_blob = function () {
return this[field.name];
}n/a
get_game_name = function () {
return this[field.name];
}n/a
get_game_played_app_id = function () {
return this[field.name];
}n/a
get_game_server_ip = function () {
return this[field.name];
}n/a
get_game_server_port = function () {
return this[field.name];
}n/a
get_gameid = function () {
return this[field.name];
}n/a
get_last_logoff = function () {
return this[field.name];
}n/a
get_last_logon = function () {
return this[field.name];
}n/a
get_online_session_instances = function () {
return this[field.name];
}n/a
get_persona_set_by_user = function () {
return this[field.name];
}n/a
get_persona_state = function () {
return this[field.name];
}n/a
get_persona_state_flags = function () {
return this[field.name];
}n/a
get_player_name = function () {
return this[field.name];
}n/a
get_published_instance_id = function () {
return this[field.name];
}n/a
get_query_port = function () {
return this[field.name];
}n/a
get_steamid_source = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAvatarHash = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setClanRank = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setClanTag = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFacebookId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFacebookName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFriendid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameDataBlob = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGamePlayedAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameServerIp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameServerPort = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastLogoff = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastLogon = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOnlineSessionInstances = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaSetByUser = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaState = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaStateFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPlayerName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedInstanceId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setQueryPort = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamidSource = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_avatar_hash = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_clan_rank = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_clan_tag = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_facebook_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_facebook_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_friendid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_data_blob = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_played_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_server_ip = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_server_port = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_gameid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_logoff = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_logon = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_online_session_instances = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_set_by_user = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_state = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_state_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_player_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_instance_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_query_port = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_source = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getFriends = function () {
return this[field.name];
}n/a
getStatusFlags = function () {
return this[field.name];
}n/a
get_friends = function () {
return this[field.name];
}n/a
get_status_flags = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setFriends = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatusFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_friends = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_status_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPlayerNicknameList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PlayerNickname = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getNickname = function () {
return this[field.name];
}n/a
getSteamid = function () {
return this[field.name];
}n/a
get_nickname = function () {
return this[field.name];
}n/a
get_steamid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setNickname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_nickname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getIncremental = function () {
return this[field.name];
}n/a
getNicknames = function () {
return this[field.name];
}n/a
getRemoval = function () {
return this[field.name];
}n/a
get_incremental = function () {
return this[field.name];
}n/a
get_nicknames = function () {
return this[field.name];
}n/a
get_removal = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setIncremental = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNicknames = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRemoval = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_incremental = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_nicknames = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_removal = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPlayingSessionState = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPlayingApp = function () {
return this[field.name];
}n/a
getPlayingBlocked = function () {
return this[field.name];
}n/a
get_playing_app = function () {
return this[field.name];
}n/a
get_playing_blocked = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPlayingApp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPlayingBlocked = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_playing_app = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_playing_blocked = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPurchaseResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getPurchaseReceiptInfo = function () {
return this[field.name];
}n/a
getPurchaseResultDetails = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_purchase_receipt_info = function () {
return this[field.name];
}n/a
get_purchase_result_details = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPurchaseReceiptInfo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPurchaseResultDetails = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_purchase_receipt_info = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_purchase_result_details = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientPurchaseWithMachineID = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getMachineInfo = function () {
return this[field.name];
}n/a
getPackageId = function () {
return this[field.name];
}n/a
get_machine_info = function () {
return this[field.name];
}n/a
get_package_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setMachineInfo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_machine_info = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_package_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientReadMachineAuth = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCubtoread = function () {
return this[field.name];
}n/a
getFilename = function () {
return this[field.name];
}n/a
getOffset = function () {
return this[field.name];
}n/a
get_cubtoread = function () {
return this[field.name];
}n/a
get_filename = function () {
return this[field.name];
}n/a
get_offset = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCubtoread = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOffset = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cubtoread = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_offset = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientReadMachineAuthResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBytesRead = function () {
return this[field.name];
}n/a
getCubread = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getFilename = function () {
return this[field.name];
}n/a
getFilenameSentry = function () {
return this[field.name];
}n/a
getFilesize = function () {
return this[field.name];
}n/a
getGetlasterror = function () {
return this[field.name];
}n/a
getOffset = function () {
return this[field.name];
}n/a
getShaFile = function () {
return this[field.name];
}n/a
get_bytes_read = function () {
return this[field.name];
}n/a
get_cubread = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_filename = function () {
return this[field.name];
}n/a
get_filename_sentry = function () {
return this[field.name];
}n/a
get_filesize = function () {
return this[field.name];
}n/a
get_getlasterror = function () {
return this[field.name];
}n/a
get_offset = function () {
return this[field.name];
}n/a
get_sha_file = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBytesRead = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCubread = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilenameSentry = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilesize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGetlasterror = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOffset = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_read = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cubread = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filename_sentry = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filesize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_getlasterror = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_offset = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRedeemGuestPass = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getGuestPassId = function () {
return this[field.name];
}n/a
get_guest_pass_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setGuestPassId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_guest_pass_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRedeemGuestPassResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getMustOwnAppid = function () {
return this[field.name];
}n/a
getPackageId = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_must_own_appid = function () {
return this[field.name];
}n/a
get_package_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMustOwnAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPackageId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_must_own_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_package_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRegisterAuthTicketWithCM = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getClientInstanceId = function () {
return this[field.name];
}n/a
getProtocolVersion = function () {
return this[field.name];
}n/a
getTicket = function () {
return this[field.name];
}n/a
get_client_instance_id = function () {
return this[field.name];
}n/a
get_protocol_version = function () {
return this[field.name];
}n/a
get_ticket = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setClientInstanceId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setProtocolVersion = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTicket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_client_instance_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_protocol_version = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ticket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRegisterKey = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getKey = function () {
return this[field.name];
}n/a
get_key = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setKey = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_key = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRegisterOEMMachine = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getOemRegisterFile = function () {
return this[field.name];
}n/a
get_oem_register_file = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setOemRegisterFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_oem_register_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRegisterOEMMachineResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRemoveFriend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getFriendid = function () {
return this[field.name];
}n/a
get_friendid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setFriendid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_friendid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRemoveFriendFromGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getGroupid = function () {
return this[field.name];
}n/a
getSteamiduser = function () {
return this[field.name];
}n/a
get_groupid = function () {
return this[field.name];
}n/a
get_steamiduser = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setGroupid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamiduser = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_groupid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamiduser = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRemoveFriendFromGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRenameFriendsGroup = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getGroupid = function () {
return this[field.name];
}n/a
getGroupname = function () {
return this[field.name];
}n/a
get_groupid = function () {
return this[field.name];
}n/a
get_groupname = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setGroupid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGroupname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_groupid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_groupname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRenameFriendsGroupResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientReportOverlayDetourFailure = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getFailureStrings = function () {
return this[field.name];
}n/a
get_failure_strings = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setFailureStrings = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_failure_strings = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestAccountData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccountOrEmail = function () {
return this[field.name];
}n/a
getAction = function () {
return this[field.name];
}n/a
get_account_or_email = function () {
return this[field.name];
}n/a
get_action = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccountOrEmail = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAction = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_account_or_email = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_action = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestAccountDataResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccountName = function () {
return this[field.name];
}n/a
getAccountNameSuggestion1 = function () {
return this[field.name];
}n/a
getAccountNameSuggestion2 = function () {
return this[field.name];
}n/a
getAccountNameSuggestion3 = function () {
return this[field.name];
}n/a
getAction = function () {
return this[field.name];
}n/a
getCtMatches = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_account_name = function () {
return this[field.name];
}n/a
get_account_name_suggestion1 = function () {
return this[field.name];
}n/a
get_account_name_suggestion2 = function () {
return this[field.name];
}n/a
get_account_name_suggestion3 = function () {
return this[field.name];
}n/a
get_action = function () {
return this[field.name];
}n/a
get_ct_matches = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccountName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAccountNameSuggestion1 = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAccountNameSuggestion2 = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAccountNameSuggestion3 = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAction = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCtMatches = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_account_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_account_name_suggestion1 = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_account_name_suggestion2 = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_account_name_suggestion3 = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_action = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ct_matches = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestCommentNotifications = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestEncryptedAppTicket = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getUserdata = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_userdata = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUserdata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_userdata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestEncryptedAppTicketResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEncryptedAppTicket = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_encrypted_app_ticket = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEncryptedAppTicket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_encrypted_app_ticket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestForgottenPasswordEmail = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAccountName = function () {
return this[field.name];
}n/a
getPasswordTried = function () {
return this[field.name];
}n/a
get_account_name = function () {
return this[field.name];
}n/a
get_password_tried = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAccountName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPasswordTried = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_account_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_password_tried = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestForgottenPasswordEmailResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEResult = function () {
return this[field.name];
}n/a
getUseSecretQuestion = function () {
return this[field.name];
}n/a
get_e_Result = function () {
return this[field.name];
}n/a
get_use_secret_question = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEResult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUseSecretQuestion = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_e_Result = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_use_secret_question = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestFreeLicense = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppids = function () {
return this[field.name];
}n/a
get_appids = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestFreeLicenseResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getGrantedAppids = function () {
return this[field.name];
}n/a
getGrantedPackageids = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_granted_appids = function () {
return this[field.name];
}n/a
get_granted_packageids = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGrantedAppids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGrantedPackageids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_granted_appids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_granted_packageids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestFriendData = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getFriends = function () {
return this[field.name];
}n/a
getPersonaStateRequested = function () {
return this[field.name];
}n/a
get_friends = function () {
return this[field.name];
}n/a
get_persona_state_requested = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setFriends = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPersonaStateRequested = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_friends = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_persona_state_requested = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestItemAnnouncements = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestMachineAuth = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresultSentryfile = function () {
return this[field.name];
}n/a
getFilename = function () {
return this[field.name];
}n/a
getFilesize = function () {
return this[field.name];
}n/a
getLockAccountAction = function () {
return this[field.name];
}n/a
getMachineName = function () {
return this[field.name];
}n/a
getMachineNameUserchosen = function () {
return this[field.name];
}n/a
getOtpIdentifier = function () {
return this[field.name];
}n/a
getOtpSharedsecret = function () {
return this[field.name];
}n/a
getOtpType = function () {
return this[field.name];
}n/a
getOtpValue = function () {
return this[field.name];
}n/a
getShaSentryfile = function () {
return this[field.name];
}n/a
get_eresult_sentryfile = function () {
return this[field.name];
}n/a
get_filename = function () {
return this[field.name];
}n/a
get_filesize = function () {
return this[field.name];
}n/a
get_lock_account_action = function () {
return this[field.name];
}n/a
get_machine_name = function () {
return this[field.name];
}n/a
get_machine_name_userchosen = function () {
return this[field.name];
}n/a
get_otp_identifier = function () {
return this[field.name];
}n/a
get_otp_sharedsecret = function () {
return this[field.name];
}n/a
get_otp_type = function () {
return this[field.name];
}n/a
get_otp_value = function () {
return this[field.name];
}n/a
get_sha_sentryfile = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresultSentryfile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilesize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLockAccountAction = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMachineName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMachineNameUserchosen = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpIdentifier = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpSharedsecret = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpValue = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaSentryfile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult_sentryfile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filesize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_lock_account_action = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_machine_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_machine_name_userchosen = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_identifier = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_sharedsecret = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_value = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_sentryfile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestMachineAuthResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestOfflineMessageCount = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestWebAPIAuthenticateUserNonce = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestWebAPIAuthenticateUserNonceResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getWebapiAuthenticateUserNonce = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_webapi_authenticate_user_nonce = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setWebapiAuthenticateUserNonce = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_webapi_authenticate_user_nonce = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRequestedClientStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
StatsToSend = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getClientStat = function () {
return this[field.name];
}n/a
getStatAggregateMethod = function () {
return this[field.name];
}n/a
get_client_stat = function () {
return this[field.name];
}n/a
get_stat_aggregate_method = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setClientStat = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatAggregateMethod = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_client_stat = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stat_aggregate_method = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getStatsToSend = function () {
return this[field.name];
}n/a
get_stats_to_send = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setStatsToSend = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stats_to_send = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRichPresenceInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
RichPresence = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getRichPresenceKv = function () {
return this[field.name];
}n/a
getSteamidUser = function () {
return this[field.name];
}n/a
get_rich_presence_kv = function () {
return this[field.name];
}n/a
get_steamid_user = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setRichPresenceKv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamidUser = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rich_presence_kv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_user = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getRichPresence = function () {
return this[field.name];
}n/a
get_rich_presence = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setRichPresence = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rich_presence = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRichPresenceRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getSteamidRequest = function () {
return this[field.name];
}n/a
get_steamid_request = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setSteamidRequest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_request = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientRichPresenceUpload = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getRichPresenceKv = function () {
return this[field.name];
}n/a
getSteamidBroadcast = function () {
return this[field.name];
}n/a
get_rich_presence_kv = function () {
return this[field.name];
}n/a
get_steamid_broadcast = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setRichPresenceKv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamidBroadcast = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rich_presence_kv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_broadcast = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientScreenshotsChanged = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientSentLogs = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientServerList = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Server = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getServerIp = function () {
return this[field.name];
}n/a
getServerPort = function () {
return this[field.name];
}n/a
getServerType = function () {
return this[field.name];
}n/a
get_server_ip = function () {
return this[field.name];
}n/a
get_server_port = function () {
return this[field.name];
}n/a
get_server_type = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setServerIp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setServerPort = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setServerType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_server_ip = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_server_port = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_server_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getServers = function () {
return this[field.name];
}n/a
get_servers = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setServers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_servers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientServersAvailable = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Server_Types_Available = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getChanged = function () {
return this[field.name];
}n/a
getServer = function () {
return this[field.name];
}n/a
get_changed = function () {
return this[field.name];
}n/a
get_server = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setChanged = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setServer = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_changed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_server = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getServerTypeForAuthServices = function () {
return this[field.name];
}n/a
getServerTypesAvailable = function () {
return this[field.name];
}n/a
get_server_type_for_auth_services = function () {
return this[field.name];
}n/a
get_server_types_available = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setServerTypeForAuthServices = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setServerTypesAvailable = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_server_type_for_auth_services = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_server_types_available = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientServiceCall = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCallHandle = function () {
return this[field.name];
}n/a
getCallparameter = function () {
return this[field.name];
}n/a
getCubOutputMax = function () {
return this[field.name];
}n/a
getFlags = function () {
return this[field.name];
}n/a
getFunctionId = function () {
return this[field.name];
}n/a
getMaxOutstandingCalls = function () {
return this[field.name];
}n/a
getModuleCrc = function () {
return this[field.name];
}n/a
getModuleHash = function () {
return this[field.name];
}n/a
getPingOnly = function () {
return this[field.name];
}n/a
getSysidRouting = function () {
return this[field.name];
}n/a
get_call_handle = function () {
return this[field.name];
}n/a
get_callparameter = function () {
return this[field.name];
}n/a
get_cub_output_max = function () {
return this[field.name];
}n/a
get_flags = function () {
return this[field.name];
}n/a
get_function_id = function () {
return this[field.name];
}n/a
get_max_outstanding_calls = function () {
return this[field.name];
}n/a
get_module_crc = function () {
return this[field.name];
}n/a
get_module_hash = function () {
return this[field.name];
}n/a
get_ping_only = function () {
return this[field.name];
}n/a
get_sysid_routing = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCallHandle = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCallparameter = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCubOutputMax = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFlags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFunctionId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMaxOutstandingCalls = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setModuleCrc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setModuleHash = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPingOnly = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSysidRouting = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_call_handle = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_callparameter = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cub_output_max = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_flags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_function_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_max_outstanding_calls = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_module_crc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_module_hash = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ping_only = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sysid_routing = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientServiceCallResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCallHandle = function () {
return this[field.name];
}n/a
getCurrentCount = function () {
return this[field.name];
}n/a
getEcallresult = function () {
return this[field.name];
}n/a
getExceptionRecord = function () {
return this[field.name];
}n/a
getInternalResult = function () {
return this[field.name];
}n/a
getLastCallHandle = function () {
return this[field.name];
}n/a
getLastCallModuleCrc = function () {
return this[field.name];
}n/a
getLastCallSysidRouting = function () {
return this[field.name];
}n/a
getLastCallcompleteDelta = function () {
return this[field.name];
}n/a
getLastCallissueDelta = function () {
return this[field.name];
}n/a
getLastEcallresult = function () {
return this[field.name];
}n/a
getLoadAddress = function () {
return this[field.name];
}n/a
getModuleCrc = function () {
return this[field.name];
}n/a
getModuleHash = function () {
return this[field.name];
}n/a
getOsVersionInfo = function () {
return this[field.name];
}n/a
getPortableOsVersionInfo = function () {
return this[field.name];
}n/a
getPortableSystemInfo = function () {
return this[field.name];
}n/a
getResultContent = function () {
return this[field.name];
}n/a
getSysidRouting = function () {
return this[field.name];
}n/a
getSystemInfo = function () {
return this[field.name];
}n/a
getWasConverted = function () {
return this[field.name];
}n/a
get_call_handle = function () {
return this[field.name];
}n/a
get_current_count = function () {
return this[field.name];
}n/a
get_ecallresult = function () {
return this[field.name];
}n/a
get_exception_record = function () {
return this[field.name];
}n/a
get_internal_result = function () {
return this[field.name];
}n/a
get_last_call_handle = function () {
return this[field.name];
}n/a
get_last_call_module_crc = function () {
return this[field.name];
}n/a
get_last_call_sysid_routing = function () {
return this[field.name];
}n/a
get_last_callcomplete_delta = function () {
return this[field.name];
}n/a
get_last_callissue_delta = function () {
return this[field.name];
}n/a
get_last_ecallresult = function () {
return this[field.name];
}n/a
get_load_address = function () {
return this[field.name];
}n/a
get_module_crc = function () {
return this[field.name];
}n/a
get_module_hash = function () {
return this[field.name];
}n/a
get_os_version_info = function () {
return this[field.name];
}n/a
get_portable_os_version_info = function () {
return this[field.name];
}n/a
get_portable_system_info = function () {
return this[field.name];
}n/a
get_result_content = function () {
return this[field.name];
}n/a
get_sysid_routing = function () {
return this[field.name];
}n/a
get_system_info = function () {
return this[field.name];
}n/a
get_was_converted = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCallHandle = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCurrentCount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEcallresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setExceptionRecord = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setInternalResult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastCallHandle = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastCallModuleCrc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastCallSysidRouting = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastCallcompleteDelta = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastCallissueDelta = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastEcallresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLoadAddress = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setModuleCrc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setModuleHash = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOsVersionInfo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPortableOsVersionInfo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPortableSystemInfo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setResultContent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSysidRouting = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSystemInfo = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setWasConverted = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_call_handle = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_current_count = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ecallresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_exception_record = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_internal_result = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_call_handle = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_call_module_crc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_call_sysid_routing = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_callcomplete_delta = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_callissue_delta = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_ecallresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_load_address = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_module_crc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_module_hash = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_os_version_info = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_portable_os_version_info = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_portable_system_info = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_result_content = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sysid_routing = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_system_info = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_was_converted = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientServiceMethod = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getIsNotification = function () {
return this[field.name];
}n/a
getMethodName = function () {
return this[field.name];
}n/a
getSerializedMethod = function () {
return this[field.name];
}n/a
get_is_notification = function () {
return this[field.name];
}n/a
get_method_name = function () {
return this[field.name];
}n/a
get_serialized_method = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setIsNotification = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMethodName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSerializedMethod = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_is_notification = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_method_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_serialized_method = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientServiceMethodResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getMethodName = function () {
return this[field.name];
}n/a
getSerializedMethodResponse = function () {
return this[field.name];
}n/a
get_method_name = function () {
return this[field.name];
}n/a
get_serialized_method_response = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setMethodName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSerializedMethodResponse = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_method_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_serialized_method_response = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientServiceModule = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getModuleContent = function () {
return this[field.name];
}n/a
getModuleCrc = function () {
return this[field.name];
}n/a
getModuleHash = function () {
return this[field.name];
}n/a
get_module_content = function () {
return this[field.name];
}n/a
get_module_crc = function () {
return this[field.name];
}n/a
get_module_hash = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setModuleContent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setModuleCrc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setModuleHash = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_module_content = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_module_crc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_module_hash = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientSessionToken = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getToken = function () {
return this[field.name];
}n/a
get_token = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientSetClientAppUpdateState = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
getUpdate = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
get_update = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_update = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientSetClientAppUpdateStateResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getResult = function () {
return this[field.name];
}n/a
get_result = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setResult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_result = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientSetPlayerNickname = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getNickname = function () {
return this[field.name];
}n/a
getSteamid = function () {
return this[field.name];
}n/a
get_nickname = function () {
return this[field.name];
}n/a
get_steamid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setNickname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_nickname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientSetPlayerNicknameResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientSharedLibraryLockStatus = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
LockedLibrary = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getLockedBy = function () {
return this[field.name];
}n/a
getOwnerId = function () {
return this[field.name];
}n/a
get_locked_by = function () {
return this[field.name];
}n/a
get_owner_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setLockedBy = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOwnerId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_locked_by = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_owner_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getLockedLibrary = function () {
return this[field.name];
}n/a
getOwnLibraryLockedBy = function () {
return this[field.name];
}n/a
get_locked_library = function () {
return this[field.name];
}n/a
get_own_library_locked_by = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setLockedLibrary = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOwnLibraryLockedBy = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_locked_library = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_own_library_locked_by = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientSharedLibraryStopPlaying = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
StopApp = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getOwnerId = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_owner_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOwnerId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_owner_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getSecondsLeft = function () {
return this[field.name];
}n/a
getStopApps = function () {
return this[field.name];
}n/a
get_seconds_left = function () {
return this[field.name];
}n/a
get_stop_apps = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setSecondsLeft = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStopApps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_seconds_left = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stop_apps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientStat2 = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
StatDetail = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getCellId = function () {
return this[field.name];
}n/a
getClientStat = function () {
return this[field.name];
}n/a
getDepotId = function () {
return this[field.name];
}n/a
getLlValue = function () {
return this[field.name];
}n/a
getTimeOfDay = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_cell_id = function () {
return this[field.name];
}n/a
get_client_stat = function () {
return this[field.name];
}n/a
get_depot_id = function () {
return this[field.name];
}n/a
get_ll_value = function () {
return this[field.name];
}n/a
get_time_of_day = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCellId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setClientStat = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDepotId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLlValue = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeOfDay = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cell_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_client_stat = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_depot_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ll_value = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_of_day = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getStatDetail = function () {
return this[field.name];
}n/a
get_stat_detail = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setStatDetail = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stat_detail = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientStatsUpdated = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Updated_Stats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getStatId = function () {
return this[field.name];
}n/a
getStatValue = function () {
return this[field.name];
}n/a
get_stat_id = function () {
return this[field.name];
}n/a
get_stat_value = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setStatId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatValue = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stat_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stat_value = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCrcStats = function () {
return this[field.name];
}n/a
getGameId = function () {
return this[field.name];
}n/a
getSteamId = function () {
return this[field.name];
}n/a
getUpdatedStats = function () {
return this[field.name];
}n/a
get_crc_stats = function () {
return this[field.name];
}n/a
get_game_id = function () {
return this[field.name];
}n/a
get_steam_id = function () {
return this[field.name];
}n/a
get_updated_stats = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCrcStats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdatedStats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_crc_stats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_updated_stats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientStoreUserStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Stats_To_Store = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getStatId = function () {
return this[field.name];
}n/a
getStatValue = function () {
return this[field.name];
}n/a
get_stat_id = function () {
return this[field.name];
}n/a
get_stat_value = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setStatId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatValue = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stat_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stat_value = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getExplicitReset = function () {
return this[field.name];
}n/a
getGameId = function () {
return this[field.name];
}n/a
getStatsToStore = function () {
return this[field.name];
}n/a
get_explicit_reset = function () {
return this[field.name];
}n/a
get_game_id = function () {
return this[field.name];
}n/a
get_stats_to_store = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setExplicitReset = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatsToStore = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_explicit_reset = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stats_to_store = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientStoreUserStats2 = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Stats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getStatId = function () {
return this[field.name];
}n/a
getStatValue = function () {
return this[field.name];
}n/a
get_stat_id = function () {
return this[field.name];
}n/a
get_stat_value = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setStatId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatValue = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stat_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stat_value = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCrcStats = function () {
return this[field.name];
}n/a
getExplicitReset = function () {
return this[field.name];
}n/a
getGameId = function () {
return this[field.name];
}n/a
getSetteeSteamId = function () {
return this[field.name];
}n/a
getSettorSteamId = function () {
return this[field.name];
}n/a
getStats = function () {
return this[field.name];
}n/a
get_crc_stats = function () {
return this[field.name];
}n/a
get_explicit_reset = function () {
return this[field.name];
}n/a
get_game_id = function () {
return this[field.name];
}n/a
get_settee_steam_id = function () {
return this[field.name];
}n/a
get_settor_steam_id = function () {
return this[field.name];
}n/a
get_stats = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCrcStats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setExplicitReset = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSetteeSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSettorSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_crc_stats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_explicit_reset = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_settee_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_settor_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientStoreUserStatsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Stats_Failed_Validation = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getRevertedStatValue = function () {
return this[field.name];
}n/a
getStatId = function () {
return this[field.name];
}n/a
get_reverted_stat_value = function () {
return this[field.name];
}n/a
get_stat_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setRevertedStatValue = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_reverted_stat_value = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stat_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCrcStats = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getGameId = function () {
return this[field.name];
}n/a
getStatsFailedValidation = function () {
return this[field.name];
}n/a
getStatsOutOfDate = function () {
return this[field.name];
}n/a
get_crc_stats = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_game_id = function () {
return this[field.name];
}n/a
get_stats_failed_validation = function () {
return this[field.name];
}n/a
get_stats_out_of_date = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCrcStats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatsFailedValidation = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatsOutOfDate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_crc_stats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stats_failed_validation = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stats_out_of_date = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientTicketAuthComplete = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getDEPRECATEDTicket = function () {
return this[field.name];
}n/a
getEauthSessionResponse = function () {
return this[field.name];
}n/a
getEstate = function () {
return this[field.name];
}n/a
getGameId = function () {
return this[field.name];
}n/a
getOwnerSteamId = function () {
return this[field.name];
}n/a
getSteamId = function () {
return this[field.name];
}n/a
getTicketCrc = function () {
return this[field.name];
}n/a
getTicketSequence = function () {
return this[field.name];
}n/a
get__D_E_P_R_E_C_A_T_E_D_ticket = function () {
return this[field.name];
}n/a
get_eauth_session_response = function () {
return this[field.name];
}n/a
get_estate = function () {
return this[field.name];
}n/a
get_game_id = function () {
return this[field.name];
}n/a
get_owner_steam_id = function () {
return this[field.name];
}n/a
get_steam_id = function () {
return this[field.name];
}n/a
get_ticket_crc = function () {
return this[field.name];
}n/a
get_ticket_sequence = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setDEPRECATEDTicket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEauthSessionResponse = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEstate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOwnerSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTicketCrc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTicketSequence = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set__D_E_P_R_E_C_A_T_E_D_ticket = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eauth_session_response = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_estate = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_owner_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ticket_crc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_ticket_sequence = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMAddScreenshot = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Tag = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getTagName = function () {
return this[field.name];
}n/a
getTagValue = function () {
return this[field.name];
}n/a
get_tag_name = function () {
return this[field.name];
}n/a
get_tag_value = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setTagName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTagValue = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tag_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tag_value = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
getCaption = function () {
return this[field.name];
}n/a
getFilename = function () {
return this[field.name];
}n/a
getHeight = function () {
return this[field.name];
}n/a
getPermissions = function () {
return this[field.name];
}n/a
getRtime32Created = function () {
return this[field.name];
}n/a
getShortcutName = function () {
return this[field.name];
}n/a
getSpoilerTag = function () {
return this[field.name];
}n/a
getTag = function () {
return this[field.name];
}n/a
getTaggedPublishedfileid = function () {
return this[field.name];
}n/a
getTaggedSteamid = function () {
return this[field.name];
}n/a
getThumbname = function () {
return this[field.name];
}n/a
getWidth = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
get_caption = function () {
return this[field.name];
}n/a
get_filename = function () {
return this[field.name];
}n/a
get_height = function () {
return this[field.name];
}n/a
get_permissions = function () {
return this[field.name];
}n/a
get_rtime32_created = function () {
return this[field.name];
}n/a
get_shortcut_name = function () {
return this[field.name];
}n/a
get_spoiler_tag = function () {
return this[field.name];
}n/a
get_tag = function () {
return this[field.name];
}n/a
get_tagged_publishedfileid = function () {
return this[field.name];
}n/a
get_tagged_steamid = function () {
return this[field.name];
}n/a
get_thumbname = function () {
return this[field.name];
}n/a
get_width = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCaption = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHeight = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPermissions = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRtime32Created = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShortcutName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSpoilerTag = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTag = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTaggedPublishedfileid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTaggedSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setThumbname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setWidth = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_caption = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_height = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_permissions = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rtime32_created = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_shortcut_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_spoiler_tag = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tag = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tagged_publishedfileid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tagged_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_thumbname = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_width = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMAddScreenshotResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getScreenshotid = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_screenshotid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setScreenshotid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_screenshotid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMDeletePublishedFile = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMDeletePublishedFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMDeleteScreenshot = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getScreenshotid = function () {
return this[field.name];
}n/a
get_screenshotid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setScreenshotid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_screenshotid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMDeleteScreenshotResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMEnumeratePublishedFilesByUserAction = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAction = function () {
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getStartIndex = function () {
return this[field.name];
}n/a
get_action = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_start_index = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAction = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStartIndex = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_action = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_start_index = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMEnumeratePublishedFilesByUserActionResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PublishedFileId = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getRtimeTimeStamp = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_rtime_time_stamp = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRtimeTimeStamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rtime_time_stamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getPublishedFiles = function () {
return this[field.name];
}n/a
getTotalResults = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_published_files = function () {
return this[field.name];
}n/a
get_total_results = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFiles = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTotalResults = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_files = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_total_results = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMEnumerateUserPublishedFiles = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getSortOrder = function () {
return this[field.name];
}n/a
getStartIndex = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_sort_order = function () {
return this[field.name];
}n/a
get_start_index = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSortOrder = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStartIndex = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sort_order = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_start_index = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMEnumerateUserPublishedFilesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PublishedFileId = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getPublishedFiles = function () {
return this[field.name];
}n/a
getTotalResults = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_published_files = function () {
return this[field.name];
}n/a
get_total_results = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFiles = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTotalResults = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_files = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_total_results = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMEnumerateUserSubscribedFiles = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getCount = function () {
return this[field.name];
}n/a
getListType = function () {
return this[field.name];
}n/a
getMatchingFileType = function () {
return this[field.name];
}n/a
getStartIndex = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_count = function () {
return this[field.name];
}n/a
get_list_type = function () {
return this[field.name];
}n/a
get_matching_file_type = function () {
return this[field.name];
}n/a
get_start_index = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setListType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMatchingFileType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStartIndex = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_count = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_list_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_matching_file_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_start_index = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMEnumerateUserSubscribedFilesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PublishedFileId = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getRtime32Subscribed = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_rtime32_subscribed = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRtime32Subscribed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rtime32_subscribed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getSubscribedFiles = function () {
return this[field.name];
}n/a
getTotalResults = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_subscribed_files = function () {
return this[field.name];
}n/a
get_total_results = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSubscribedFiles = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTotalResults = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_subscribed_files = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_total_results = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMEnumerateUserSubscribedFilesWithUpdates = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getStartIndex = function () {
return this[field.name];
}n/a
getStartTime = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_start_index = function () {
return this[field.name];
}n/a
get_start_time = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStartIndex = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStartTime = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_start_index = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_start_time = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMEnumerateUserSubscribedFilesWithUpdatesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PublishedFileId = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
getFileHcontent = function () {
return this[field.name];
}n/a
getFileSize = function () {
return this[field.name];
}n/a
getIsDepotContent = function () {
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getRtime32LastUpdated = function () {
return this[field.name];
}n/a
getRtime32Subscribed = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
get_file_hcontent = function () {
return this[field.name];
}n/a
get_file_size = function () {
return this[field.name];
}n/a
get_is_depot_content = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_rtime32_last_updated = function () {
return this[field.name];
}n/a
get_rtime32_subscribed = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileHcontent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIsDepotContent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRtime32LastUpdated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRtime32Subscribed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_hcontent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_is_depot_content = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rtime32_last_updated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rtime32_subscribed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getSubscribedFiles = function () {
return this[field.name];
}n/a
getTotalResults = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_subscribed_files = function () {
return this[field.name];
}n/a
get_total_results = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSubscribedFiles = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTotalResults = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_subscribed_files = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_total_results = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMGetPublishedFilesForUser = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getCreatorSteamId = function () {
return this[field.name];
}n/a
getExcludedTags = function () {
return this[field.name];
}n/a
getRequiredTags = function () {
return this[field.name];
}n/a
getStartIndex = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_creator_steam_id = function () {
return this[field.name];
}n/a
get_excluded_tags = function () {
return this[field.name];
}n/a
get_required_tags = function () {
return this[field.name];
}n/a
get_start_index = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCreatorSteamId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setExcludedTags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRequiredTags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStartIndex = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_creator_steam_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_excluded_tags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_required_tags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_start_index = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMGetPublishedFilesForUserResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
PublishedFileId = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getPublishedFiles = function () {
return this[field.name];
}n/a
getTotalResults = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_published_files = function () {
return this[field.name];
}n/a
get_total_results = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFiles = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTotalResults = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_files = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_total_results = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMPublishFile = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getConsumerAppId = function () {
return this[field.name];
}n/a
getDescription = function () {
return this[field.name];
}n/a
getFileName = function () {
return this[field.name];
}n/a
getFileType = function () {
return this[field.name];
}n/a
getInProgress = function () {
return this[field.name];
}n/a
getPreviewFileName = function () {
return this[field.name];
}n/a
getTags = function () {
return this[field.name];
}n/a
getTitle = function () {
return this[field.name];
}n/a
getUrl = function () {
return this[field.name];
}n/a
getVideoAccountName = function () {
return this[field.name];
}n/a
getVideoIdentifier = function () {
return this[field.name];
}n/a
getVideoProvider = function () {
return this[field.name];
}n/a
getVisibility = function () {
return this[field.name];
}n/a
getWorkshopFile = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_consumer_app_id = function () {
return this[field.name];
}n/a
get_description = function () {
return this[field.name];
}n/a
get_file_name = function () {
return this[field.name];
}n/a
get_file_type = function () {
return this[field.name];
}n/a
get_in_progress = function () {
return this[field.name];
}n/a
get_preview_file_name = function () {
return this[field.name];
}n/a
get_tags = function () {
return this[field.name];
}n/a
get_title = function () {
return this[field.name];
}n/a
get_url = function () {
return this[field.name];
}n/a
get_video_account_name = function () {
return this[field.name];
}n/a
get_video_identifier = function () {
return this[field.name];
}n/a
get_video_provider = function () {
return this[field.name];
}n/a
get_visibility = function () {
return this[field.name];
}n/a
get_workshop_file = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setConsumerAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDescription = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setInProgress = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPreviewFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTitle = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUrl = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVideoAccountName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVideoIdentifier = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVideoProvider = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVisibility = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setWorkshopFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_consumer_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_description = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_in_progress = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_preview_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_title = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_url = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_video_account_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_video_identifier = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_video_provider = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_visibility = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_workshop_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMPublishFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getNeedsWorkshopLegalAgreementAcceptance = function () {
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_needs_workshop_legal_agreement_acceptance = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNeedsWorkshopLegalAgreementAcceptance = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_needs_workshop_legal_agreement_acceptance = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMPublishedFileDeleted = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMPublishedFileSubscribed = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getFileHcontent = function () {
return this[field.name];
}n/a
getFileSize = function () {
return this[field.name];
}n/a
getIsDepotContent = function () {
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getRtimeSubscribed = function () {
return this[field.name];
}n/a
getRtimeUpdated = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_file_hcontent = function () {
return this[field.name];
}n/a
get_file_size = function () {
return this[field.name];
}n/a
get_is_depot_content = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_rtime_subscribed = function () {
return this[field.name];
}n/a
get_rtime_updated = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileHcontent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIsDepotContent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRtimeSubscribed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRtimeUpdated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_hcontent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_is_depot_content = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rtime_subscribed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rtime_updated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMPublishedFileUnsubscribed = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMPublishedFileUpdated = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getFileSize = function () {
return this[field.name];
}n/a
getHcontent = function () {
return this[field.name];
}n/a
getIsDepotContent = function () {
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getTimeUpdated = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_file_size = function () {
return this[field.name];
}n/a
get_hcontent = function () {
return this[field.name];
}n/a
get_is_depot_content = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_time_updated = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHcontent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIsDepotContent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeUpdated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_hcontent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_is_depot_content = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_updated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMSetUserPublishedFileAction = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAction = function () {
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
get_action = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAction = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_action = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMSetUserPublishedFileActionResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMUpdatePublishedFile = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
KeyValueTag = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getKey = function () {
return this[field.name];
}n/a
getValue = function () {
return this[field.name];
}n/a
get_key = function () {
return this[field.name];
}n/a
get_value = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setKey = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setValue = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_key = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_value = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getChangeDescription = function () {
return this[field.name];
}n/a
getContentManifest = function () {
return this[field.name];
}n/a
getDescription = function () {
return this[field.name];
}n/a
getFileName = function () {
return this[field.name];
}n/a
getKvtags = function () {
return this[field.name];
}n/a
getLanguage = function () {
return this[field.name];
}n/a
getMetadata = function () {
return this[field.name];
}n/a
getPreviewFileName = function () {
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getRemovedKvtags = function () {
return this[field.name];
}n/a
getTags = function () {
return this[field.name];
}n/a
getTitle = function () {
return this[field.name];
}n/a
getUpdateContentManifest = function () {
return this[field.name];
}n/a
getUpdateDescription = function () {
return this[field.name];
}n/a
getUpdateFile = function () {
return this[field.name];
}n/a
getUpdateMetadata = function () {
return this[field.name];
}n/a
getUpdatePreviewFile = function () {
return this[field.name];
}n/a
getUpdateTags = function () {
return this[field.name];
}n/a
getUpdateTitle = function () {
return this[field.name];
}n/a
getUpdateUrl = function () {
return this[field.name];
}n/a
getUpdateVisibility = function () {
return this[field.name];
}n/a
getUrl = function () {
return this[field.name];
}n/a
getVisibility = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_change_description = function () {
return this[field.name];
}n/a
get_content_manifest = function () {
return this[field.name];
}n/a
get_description = function () {
return this[field.name];
}n/a
get_file_name = function () {
return this[field.name];
}n/a
get_kvtags = function () {
return this[field.name];
}n/a
get_language = function () {
return this[field.name];
}n/a
get_metadata = function () {
return this[field.name];
}n/a
get_preview_file_name = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_removed_kvtags = function () {
return this[field.name];
}n/a
get_tags = function () {
return this[field.name];
}n/a
get_title = function () {
return this[field.name];
}n/a
get_update_content_manifest = function () {
return this[field.name];
}n/a
get_update_description = function () {
return this[field.name];
}n/a
get_update_file = function () {
return this[field.name];
}n/a
get_update_metadata = function () {
return this[field.name];
}n/a
get_update_preview_file = function () {
return this[field.name];
}n/a
get_update_tags = function () {
return this[field.name];
}n/a
get_update_title = function () {
return this[field.name];
}n/a
get_update_url = function () {
return this[field.name];
}n/a
get_update_visibility = function () {
return this[field.name];
}n/a
get_url = function () {
return this[field.name];
}n/a
get_visibility = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setChangeDescription = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setContentManifest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDescription = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setKvtags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLanguage = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setMetadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPreviewFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRemovedKvtags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTitle = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdateContentManifest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdateDescription = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdateFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdateMetadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdatePreviewFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdateTags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdateTitle = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdateUrl = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdateVisibility = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUrl = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setVisibility = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_change_description = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_content_manifest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_description = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_kvtags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_language = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_metadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_preview_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_removed_kvtags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_tags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_title = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_update_content_manifest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_update_description = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_update_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_update_metadata = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_update_preview_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_update_tags = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_update_title = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_update_url = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_update_visibility = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_url = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_visibility = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUCMUpdatePublishedFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getNeedsWorkshopLegalAgreementAcceptance = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_needs_workshop_legal_agreement_acceptance = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNeedsWorkshopLegalAgreementAcceptance = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_needs_workshop_legal_agreement_acceptance = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUDSInviteToGame = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getConnectString = function () {
return this[field.name];
}n/a
getSteamIdDest = function () {
return this[field.name];
}n/a
getSteamIdSrc = function () {
return this[field.name];
}n/a
get_connect_string = function () {
return this[field.name];
}n/a
get_steam_id_dest = function () {
return this[field.name];
}n/a
get_steam_id_src = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setConnectString = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdDest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamIdSrc = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_connect_string = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_dest = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steam_id_src = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUDSP2PSessionEnded = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
getBytesRecv = function () {
return this[field.name];
}n/a
getBytesRecvRelay = function () {
return this[field.name];
}n/a
getBytesSent = function () {
return this[field.name];
}n/a
getBytesSentRelay = function () {
return this[field.name];
}n/a
getNattype = function () {
return this[field.name];
}n/a
getSessionError = function () {
return this[field.name];
}n/a
getSessionLengthSec = function () {
return this[field.name];
}n/a
getSteamidRemote = function () {
return this[field.name];
}n/a
getTimeToConnectMs = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
get_bytes_recv = function () {
return this[field.name];
}n/a
get_bytes_recv_relay = function () {
return this[field.name];
}n/a
get_bytes_sent = function () {
return this[field.name];
}n/a
get_bytes_sent_relay = function () {
return this[field.name];
}n/a
get_nattype = function () {
return this[field.name];
}n/a
get_session_error = function () {
return this[field.name];
}n/a
get_session_length_sec = function () {
return this[field.name];
}n/a
get_steamid_remote = function () {
return this[field.name];
}n/a
get_time_to_connect_ms = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBytesRecv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBytesRecvRelay = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBytesSent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBytesSentRelay = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNattype = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSessionError = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSessionLengthSec = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamidRemote = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeToConnectMs = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_recv = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_recv_relay = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_sent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_sent_relay = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_nattype = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_session_error = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_session_length_sec = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_remote = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_to_connect_ms = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUDSP2PSessionStarted = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
getSteamidRemote = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
get_steamid_remote = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamidRemote = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_remote = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSDeleteFileRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getFileName = function () {
return this[field.name];
}n/a
getIsExplicitDelete = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_file_name = function () {
return this[field.name];
}n/a
get_is_explicit_delete = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIsExplicitDelete = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_is_explicit_delete = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSDeleteFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getFileName = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_file_name = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSDownloadRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getCanHandleHttp = function () {
return this[field.name];
}n/a
getFileName = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_can_handle_http = function () {
return this[field.name];
}n/a
get_file_name = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCanHandleHttp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_can_handle_http = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSDownloadResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEncrypted = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getFileSize = function () {
return this[field.name];
}n/a
getHttpHost = function () {
return this[field.name];
}n/a
getHttpUrl = function () {
return this[field.name];
}n/a
getIsExplicitDelete = function () {
return this[field.name];
}n/a
getKvHeaders = function () {
return this[field.name];
}n/a
getRawFileSize = function () {
return this[field.name];
}n/a
getShaFile = function () {
return this[field.name];
}n/a
getTimeStamp = function () {
return this[field.name];
}n/a
getUseHttp = function () {
return this[field.name];
}n/a
getUseHttps = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_encrypted = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_file_size = function () {
return this[field.name];
}n/a
get_http_host = function () {
return this[field.name];
}n/a
get_http_url = function () {
return this[field.name];
}n/a
get_is_explicit_delete = function () {
return this[field.name];
}n/a
get_kv_headers = function () {
return this[field.name];
}n/a
get_raw_file_size = function () {
return this[field.name];
}n/a
get_sha_file = function () {
return this[field.name];
}n/a
get_time_stamp = function () {
return this[field.name];
}n/a
get_use_http = function () {
return this[field.name];
}n/a
get_use_https = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEncrypted = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHttpHost = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHttpUrl = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIsExplicitDelete = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setKvHeaders = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRawFileSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeStamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUseHttp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUseHttps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_encrypted = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_http_host = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_http_url = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_is_explicit_delete = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_kv_headers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_raw_file_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_stamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_use_http = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_use_https = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSFileChunk = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getData = function () {
return this[field.name];
}n/a
getFileStart = function () {
return this[field.name];
}n/a
getShaFile = function () {
return this[field.name];
}n/a
get_data = function () {
return this[field.name];
}n/a
get_file_start = function () {
return this[field.name];
}n/a
get_sha_file = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setData = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileStart = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_data = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_start = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSGetFileListForApp = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppsToQuery = function () {
return this[field.name];
}n/a
getSendPathPrefixes = function () {
return this[field.name];
}n/a
get_apps_to_query = function () {
return this[field.name];
}n/a
get_send_path_prefixes = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppsToQuery = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSendPathPrefixes = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_apps_to_query = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_send_path_prefixes = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSGetFileListForAppResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
File = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getFileName = function () {
return this[field.name];
}n/a
getIsExplicitDelete = function () {
return this[field.name];
}n/a
getPathPrefixIndex = function () {
return this[field.name];
}n/a
getPlatformsToSync = function () {
return this[field.name];
}n/a
getRawFileSize = function () {
return this[field.name];
}n/a
getShaFile = function () {
return this[field.name];
}n/a
getTimeStamp = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_file_name = function () {
return this[field.name];
}n/a
get_is_explicit_delete = function () {
return this[field.name];
}n/a
get_path_prefix_index = function () {
return this[field.name];
}n/a
get_platforms_to_sync = function () {
return this[field.name];
}n/a
get_raw_file_size = function () {
return this[field.name];
}n/a
get_sha_file = function () {
return this[field.name];
}n/a
get_time_stamp = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIsExplicitDelete = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPathPrefixIndex = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPlatformsToSync = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRawFileSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeStamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_is_explicit_delete = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_path_prefix_index = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_platforms_to_sync = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_raw_file_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_stamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getFiles = function () {
return this[field.name];
}n/a
getPathPrefixes = function () {
return this[field.name];
}n/a
get_files = function () {
return this[field.name];
}n/a
get_path_prefixes = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setFiles = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPathPrefixes = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_files = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_path_prefixes = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSGetSingleFileInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getFileName = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_file_name = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSGetSingleFileInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getFileName = function () {
return this[field.name];
}n/a
getIsExplicitDelete = function () {
return this[field.name];
}n/a
getRawFileSize = function () {
return this[field.name];
}n/a
getShaFile = function () {
return this[field.name];
}n/a
getTimeStamp = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_file_name = function () {
return this[field.name];
}n/a
get_is_explicit_delete = function () {
return this[field.name];
}n/a
get_raw_file_size = function () {
return this[field.name];
}n/a
get_sha_file = function () {
return this[field.name];
}n/a
get_time_stamp = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setIsExplicitDelete = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRawFileSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeStamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_is_explicit_delete = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_raw_file_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_stamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSGetUGCDetails = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getHcontent = function () {
return this[field.name];
}n/a
get_hcontent = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setHcontent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_hcontent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSGetUGCDetailsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getCompressedFileSize = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getFileEncodedSha1 = function () {
return this[field.name];
}n/a
getFileSize = function () {
return this[field.name];
}n/a
getFilename = function () {
return this[field.name];
}n/a
getRangecheckHost = function () {
return this[field.name];
}n/a
getSteamidCreator = function () {
return this[field.name];
}n/a
getUrl = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_compressed_file_size = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_file_encoded_sha1 = function () {
return this[field.name];
}n/a
get_file_size = function () {
return this[field.name];
}n/a
get_filename = function () {
return this[field.name];
}n/a
get_rangecheck_host = function () {
return this[field.name];
}n/a
get_steamid_creator = function () {
return this[field.name];
}n/a
get_url = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCompressedFileSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileEncodedSha1 = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRangecheckHost = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamidCreator = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUrl = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_compressed_file_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_encoded_sha1 = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_rangecheck_host = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_creator = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_url = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSLoginRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAmSessionToken = function () {
return this[field.name];
}n/a
getApps = function () {
return this[field.name];
}n/a
getProtocolVersion = function () {
return this[field.name];
}n/a
get_am_session_token = function () {
return this[field.name];
}n/a
get_apps = function () {
return this[field.name];
}n/a
get_protocol_version = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAmSessionToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setApps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setProtocolVersion = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_am_session_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_apps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_protocol_version = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSLoginResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSShareFile = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getFileName = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_file_name = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSShareFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getHcontent = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_hcontent = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHcontent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_hcontent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSTransferHeartbeat = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSUploadCommit = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
File = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getCubFile = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getFileName = function () {
return this[field.name];
}n/a
getShaFile = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_cub_file = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_file_name = function () {
return this[field.name];
}n/a
get_sha_file = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCubFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cub_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getFiles = function () {
return this[field.name];
}n/a
get_files = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setFiles = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_files = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSUploadCommitResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
File = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getShaFile = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_sha_file = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getFiles = function () {
return this[field.name];
}n/a
get_files = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setFiles = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_files = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSUploadFileFinished = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getShaFile = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_sha_file = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSUploadFileRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getCanEncrypt = function () {
return this[field.name];
}n/a
getCellId = function () {
return this[field.name];
}n/a
getFileName = function () {
return this[field.name];
}n/a
getFileSize = function () {
return this[field.name];
}n/a
getPlatformsToSync = function () {
return this[field.name];
}n/a
getPlatformsToSyncDeprecated = function () {
return this[field.name];
}n/a
getRawFileSize = function () {
return this[field.name];
}n/a
getShaFile = function () {
return this[field.name];
}n/a
getTimeStamp = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_can_encrypt = function () {
return this[field.name];
}n/a
get_cell_id = function () {
return this[field.name];
}n/a
get_file_name = function () {
return this[field.name];
}n/a
get_file_size = function () {
return this[field.name];
}n/a
get_platforms_to_sync = function () {
return this[field.name];
}n/a
get_platforms_to_sync_deprecated = function () {
return this[field.name];
}n/a
get_raw_file_size = function () {
return this[field.name];
}n/a
get_sha_file = function () {
return this[field.name];
}n/a
get_time_stamp = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCanEncrypt = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCellId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileName = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFileSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPlatformsToSync = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPlatformsToSyncDeprecated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setRawFileSize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeStamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_can_encrypt = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cell_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_name = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_file_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_platforms_to_sync = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_platforms_to_sync_deprecated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_raw_file_size = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_stamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUFSUploadFileResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEncryptFile = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getHttpHost = function () {
return this[field.name];
}n/a
getHttpUrl = function () {
return this[field.name];
}n/a
getKvHeaders = function () {
return this[field.name];
}n/a
getShaFile = function () {
return this[field.name];
}n/a
getUseHttp = function () {
return this[field.name];
}n/a
getUseHttps = function () {
return this[field.name];
}n/a
get_encrypt_file = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_http_host = function () {
return this[field.name];
}n/a
get_http_url = function () {
return this[field.name];
}n/a
get_kv_headers = function () {
return this[field.name];
}n/a
get_sha_file = function () {
return this[field.name];
}n/a
get_use_http = function () {
return this[field.name];
}n/a
get_use_https = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEncryptFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHttpHost = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHttpUrl = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setKvHeaders = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUseHttp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUseHttps = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_encrypt_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_http_host = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_http_url = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_kv_headers = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_use_http = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_use_https = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUGSGetGlobalStats = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getDaysCached = function () {
return this[field.name];
}n/a
getFirstDayCached = function () {
return this[field.name];
}n/a
getGameid = function () {
return this[field.name];
}n/a
getHistoryDaysRequested = function () {
return this[field.name];
}n/a
getTimeLastRequested = function () {
return this[field.name];
}n/a
get_days_cached = function () {
return this[field.name];
}n/a
get_first_day_cached = function () {
return this[field.name];
}n/a
get_gameid = function () {
return this[field.name];
}n/a
get_history_days_requested = function () {
return this[field.name];
}n/a
get_time_last_requested = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setDaysCached = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFirstDayCached = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHistoryDaysRequested = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeLastRequested = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_days_cached = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_first_day_cached = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_gameid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_history_days_requested = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_last_requested = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUGSGetGlobalStatsResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Day = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getDayId = function () {
return this[field.name];
}n/a
getStats = function () {
return this[field.name];
}n/a
get_day_id = function () {
return this[field.name];
}n/a
get_stats = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setDayId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_day_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stats = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getDayCurrent = function () {
return this[field.name];
}n/a
getDays = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getTimestamp = function () {
return this[field.name];
}n/a
get_day_current = function () {
return this[field.name];
}n/a
get_days = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_timestamp = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setDayCurrent = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDays = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimestamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_day_current = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_days = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_timestamp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUIMode = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getUimode = function () {
return this[field.name];
}n/a
get_uimode = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setUimode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_uimode = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUninstallClientApp = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppid = function () {
return this[field.name];
}n/a
get_appid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_appid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUninstallClientAppResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getResult = function () {
return this[field.name];
}n/a
get_result = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setResult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_result = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUpdateAppJobReport = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getAppState = function () {
return this[field.name];
}n/a
getBytesComitted = function () {
return this[field.name];
}n/a
getBytesDownloaded = function () {
return this[field.name];
}n/a
getBytesStaged = function () {
return this[field.name];
}n/a
getDepotIds = function () {
return this[field.name];
}n/a
getErrorDetails = function () {
return this[field.name];
}n/a
getFilesValidationFailed = function () {
return this[field.name];
}n/a
getJobAppError = function () {
return this[field.name];
}n/a
getJobDuration = function () {
return this[field.name];
}n/a
getStartAppState = function () {
return this[field.name];
}n/a
getStatsMachineId = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_app_state = function () {
return this[field.name];
}n/a
get_bytes_comitted = function () {
return this[field.name];
}n/a
get_bytes_downloaded = function () {
return this[field.name];
}n/a
get_bytes_staged = function () {
return this[field.name];
}n/a
get_depot_ids = function () {
return this[field.name];
}n/a
get_error_details = function () {
return this[field.name];
}n/a
get_files_validation_failed = function () {
return this[field.name];
}n/a
get_job_app_error = function () {
return this[field.name];
}n/a
get_job_duration = function () {
return this[field.name];
}n/a
get_start_app_state = function () {
return this[field.name];
}n/a
get_stats_machine_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setAppState = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBytesComitted = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBytesDownloaded = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBytesStaged = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDepotIds = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setErrorDetails = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilesValidationFailed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setJobAppError = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setJobDuration = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStartAppState = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setStatsMachineId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_state = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_comitted = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_downloaded = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes_staged = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_depot_ids = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_error_details = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_files_validation_failed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_job_app_error = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_job_duration = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_start_app_state = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_stats_machine_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUpdateMachineAuth = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBytes = function () {
return this[field.name];
}n/a
getCubtowrite = function () {
return this[field.name];
}n/a
getFilename = function () {
return this[field.name];
}n/a
getOffset = function () {
return this[field.name];
}n/a
getOtpIdentifier = function () {
return this[field.name];
}n/a
getOtpSharedsecret = function () {
return this[field.name];
}n/a
getOtpTimedrift = function () {
return this[field.name];
}n/a
getOtpType = function () {
return this[field.name];
}n/a
get_bytes = function () {
return this[field.name];
}n/a
get_cubtowrite = function () {
return this[field.name];
}n/a
get_filename = function () {
return this[field.name];
}n/a
get_offset = function () {
return this[field.name];
}n/a
get_otp_identifier = function () {
return this[field.name];
}n/a
get_otp_sharedsecret = function () {
return this[field.name];
}n/a
get_otp_timedrift = function () {
return this[field.name];
}n/a
get_otp_type = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBytes = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCubtowrite = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOffset = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpIdentifier = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpSharedsecret = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpTimedrift = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_bytes = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cubtowrite = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_offset = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_identifier = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_sharedsecret = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_timedrift = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUpdateMachineAuthResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCubwrote = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getFilename = function () {
return this[field.name];
}n/a
getFilesize = function () {
return this[field.name];
}n/a
getGetlasterror = function () {
return this[field.name];
}n/a
getOffset = function () {
return this[field.name];
}n/a
getOtpIdentifier = function () {
return this[field.name];
}n/a
getOtpType = function () {
return this[field.name];
}n/a
getOtpValue = function () {
return this[field.name];
}n/a
getShaFile = function () {
return this[field.name];
}n/a
get_cubwrote = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_filename = function () {
return this[field.name];
}n/a
get_filesize = function () {
return this[field.name];
}n/a
get_getlasterror = function () {
return this[field.name];
}n/a
get_offset = function () {
return this[field.name];
}n/a
get_otp_identifier = function () {
return this[field.name];
}n/a
get_otp_type = function () {
return this[field.name];
}n/a
get_otp_value = function () {
return this[field.name];
}n/a
get_sha_file = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCubwrote = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setFilesize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGetlasterror = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOffset = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpIdentifier = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setOtpValue = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setShaFile = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_cubwrote = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filename = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_filesize = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_getlasterror = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_offset = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_identifier = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_otp_value = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_sha_file = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUpdateUserGameInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getGameIp = function () {
return this[field.name];
}n/a
getGamePort = function () {
return this[field.name];
}n/a
getGameid = function () {
return this[field.name];
}n/a
getSteamidIdgs = function () {
return this[field.name];
}n/a
getToken = function () {
return this[field.name];
}n/a
get_game_ip = function () {
return this[field.name];
}n/a
get_game_port = function () {
return this[field.name];
}n/a
get_gameid = function () {
return this[field.name];
}n/a
get_steamid_idgs = function () {
return this[field.name];
}n/a
get_token = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setGameIp = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGamePort = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setGameid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setSteamidIdgs = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setToken = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_ip = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_game_port = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_gameid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_steamid_idgs = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_token = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUseLocalDeviceAuthorizations = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
DeviceToken = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getOwnerAccountId = function () {
return this[field.name];
}n/a
getTokenId = function () {
return this[field.name];
}n/a
get_owner_account_id = function () {
return this[field.name];
}n/a
get_token_id = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setOwnerAccountId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTokenId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_owner_account_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_token_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAuthorizationAccountId = function () {
return this[field.name];
}n/a
getDeviceTokens = function () {
return this[field.name];
}n/a
get_authorization_account_id = function () {
return this[field.name];
}n/a
get_device_tokens = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAuthorizationAccountId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setDeviceTokens = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_authorization_account_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_device_tokens = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientUserNotifications = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
Notification = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCount = function () {
return this[field.name];
}n/a
getUserNotificationType = function () {
return this[field.name];
}n/a
get_count = function () {
return this[field.name];
}n/a
get_user_notification_type = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCount = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUserNotificationType = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_count = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_user_notification_type = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getNotifications = function () {
return this[field.name];
}n/a
get_notifications = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setNotifications = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_notifications = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientVanityURLChangedNotification = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getVanityUrl = function () {
return this[field.name];
}n/a
get_vanity_url = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setVanityUrl = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_vanity_url = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientVoiceCallPreAuthorize = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCallerId = function () {
return this[field.name];
}n/a
getCallerSteamid = function () {
return this[field.name];
}n/a
getHangup = function () {
return this[field.name];
}n/a
getReceiverSteamid = function () {
return this[field.name];
}n/a
get_caller_id = function () {
return this[field.name];
}n/a
get_caller_steamid = function () {
return this[field.name];
}n/a
get_hangup = function () {
return this[field.name];
}n/a
get_receiver_steamid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCallerId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCallerSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHangup = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setReceiverSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_caller_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_caller_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_hangup = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_receiver_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientVoiceCallPreAuthorizeResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getCallerId = function () {
return this[field.name];
}n/a
getCallerSteamid = function () {
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getReceiverSteamid = function () {
return this[field.name];
}n/a
get_caller_id = function () {
return this[field.name];
}n/a
get_caller_steamid = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_receiver_steamid = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setCallerId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCallerSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setReceiverSteamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_caller_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_caller_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_receiver_steamid = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientWalletInfoUpdate = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getBalance = function () {
return this[field.name];
}n/a
getBalanceDelayed = function () {
return this[field.name];
}n/a
getCurrency = function () {
return this[field.name];
}n/a
getHasWallet = function () {
return this[field.name];
}n/a
get_balance = function () {
return this[field.name];
}n/a
get_balance_delayed = function () {
return this[field.name];
}n/a
get_currency = function () {
return this[field.name];
}n/a
get_has_wallet = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setBalance = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setBalanceDelayed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setCurrency = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setHasWallet = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_balance = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_balance_delayed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_currency = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_has_wallet = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientWorkshopItemChangesRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getLastTimeUpdated = function () {
return this[field.name];
}n/a
getNumItemsNeeded = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_last_time_updated = function () {
return this[field.name];
}n/a
get_num_items_needed = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastTimeUpdated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setNumItemsNeeded = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_time_updated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_num_items_needed = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientWorkshopItemChangesResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
WorkshopItemInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getManifestId = function () {
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getTimeUpdated = function () {
return this[field.name];
}n/a
get_manifest_id = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_time_updated = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setManifestId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeUpdated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_manifest_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_updated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getUpdateTime = function () {
return this[field.name];
}n/a
getWorkshopItems = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_update_time = function () {
return this[field.name];
}n/a
get_workshop_items = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdateTime = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setWorkshopItems = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_update_time = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_workshop_items = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientWorkshopItemInfoRequest = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
WorkshopItem = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getTimeUpdated = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_time_updated = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeUpdated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_updated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getAppId = function () {
return this[field.name];
}n/a
getLastTimeUpdated = function () {
return this[field.name];
}n/a
getWorkshopItems = function () {
return this[field.name];
}n/a
get_app_id = function () {
return this[field.name];
}n/a
get_last_time_updated = function () {
return this[field.name];
}n/a
get_workshop_items = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setAppId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setLastTimeUpdated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setWorkshopItems = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_app_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_last_time_updated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_workshop_items = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgClientWorkshopItemInfoResponse = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
WorkshopItemInfo = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getManifestId = function () {
return this[field.name];
}n/a
getPublishedFileId = function () {
return this[field.name];
}n/a
getTimeUpdated = function () {
return this[field.name];
}n/a
get_manifest_id = function () {
return this[field.name];
}n/a
get_published_file_id = function () {
return this[field.name];
}n/a
get_time_updated = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setManifestId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setPublishedFileId = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setTimeUpdated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_manifest_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_published_file_id = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_time_updated = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
encodeDelimited = function (buffer) {
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var enc = new ByteBuffer().LE();
T.encode(this, enc).flip();
buffer.writeVarint32(enc.remaining());
buffer.append(enc);
return isNew ? buffer.flip() : buffer;
}n/a
encodeHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
encodeJSON = function () {
return JSON.stringify(
cloneRaw(this,
/* binary-as-base64 */ true,
/* longs-as-strings */ true,
this.$type
)
);
}n/a
encodeNB = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}n/a
get = function (key, noAssert) {
if (noAssert)
return this[key];
var field = T._fieldsByName[key];
if (!field || !(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true));
return this[field.name];
}n/a
getEresult = function () {
return this[field.name];
}n/a
getUpdateTime = function () {
return this[field.name];
}n/a
getWorkshopItems = function () {
return this[field.name];
}n/a
get_eresult = function () {
return this[field.name];
}n/a
get_update_time = function () {
return this[field.name];
}n/a
get_workshop_items = function () {
return this[field.name];
}n/a
set = function (keyOrObj, value, noAssert) {
if (keyOrObj && typeof keyOrObj === 'object') {
noAssert = value;
for (var ikey in keyOrObj)
if (keyOrObj.hasOwnProperty(ikey) && typeof (value = keyOrObj[ikey]) !== 'undefined')
this.$set(ikey, value, noAssert);
return this;
}
var field = T._fieldsByName[keyOrObj];
if (!noAssert) {
if (!field)
throw Error(this+"#"+keyOrObj+" is not a field: undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+keyOrObj+" is not a field: "+field.toString(true));
this[field.name] = (value = field.verifyValue(value)); // May throw
} else
this[keyOrObj] = value;
if (field && field.oneof) { // Field is part of an OneOf (not a virtual OneOf field)
var currentField = this[field.oneof.name]; // Virtual field references currently set field
if (value !== null) {
if (currentField !== null && currentField !== field.name)
this[currentField] = null; // Clear currently set field
this[field.oneof.name] = field.name; // Point virtual field at this field
} else if (/* value === null && */currentField === keyOrObj)
this[field.oneof.name] = null; // Clear virtual field (current field explicitly cleared)
}
return this;
}n/a
setEresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setUpdateTime = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
setWorkshopItems = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_eresult = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_update_time = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
set_workshop_items = function (value, noAssert) {
this[field.name] = noAssert ? value : field.verifyValue(value);
return this;
}n/a
toArrayBuffer = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a
toBase64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
toBuffer = function () {
try {
return this.encode().toBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBuffer();
throw(e);
}
}...
} else {
header.steamID = this.steamID;
header.sessionID = this.sessionID;
header.sourceJobID = sourceJobID;
header = new schema.ExtendedClientMsgHdr(header);
}
this._connection.send(Buffer.concat([header.toBuffer(), body]));
};
SteamClient.prototype.send = function(header, body, callback) {
// ignore any target job ID
if (header.proto)
delete header.proto.jobid_target;
else
...toHex = function () {
try {
return this.encode().toHex();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toHex();
throw(e);
}
}n/a
toRaw = function (binaryAsBase64, longsAsStrings) {
return cloneRaw(this, !!binaryAsBase64, !!longsAsStrings, this.$type);
}...
var ByteBuffer = require('bytebuffer');
var EventEmitter = require('events').EventEmitter;
var Steam = module.exports = require('steam-resources');
var schema = Steam.Internal;
Steam._processProto = function(proto) {
proto = proto.toRaw(false, true);
(function deleteNulls(proto) {
for (var field in proto)
if (proto[field] == null)
delete proto[field];
else if (typeof proto[field] == 'object')
deleteNulls(proto[field]);
})(proto);
...toString = function () {
return T.toString();
}...
};
SteamID.prototype.encode = function() {
return new Long(this.accountID, this.accountInstance | this.accountType << 20 | this.accountUniverse << 24
);
};
SteamID.prototype.toString = function() {
return this.encode().toString();
};
...CMsgDPGetNumberOfCurrentPlayers = function (values, var_args) {
ProtoBuf.Builder.Message.call(this);
// Create virtual oneof properties
for (var i=0, k=oneofs.length; i<k; ++i)
this[oneofs[i].name] = null;
// Create fields and set default values
for (i=0, k=fields.length; i<k; ++i) {
var field = fields[i];
this[field.name] =
field.repeated ? [] :
(field.map ? new ProtoBuf.Map(field) : null);
if ((field.required || T.syntax === 'proto3') &&
field.defaultValue !== null)
this[field.name] = field.defaultValue;
}
if (arguments.length > 0) {
var value;
// Set field values from a values object
if (arguments.length === 1 && values !== null && typeof values === 'object' &&
/* not _another_ Message */ (typeof values.encode !== 'function' || values instanceof Message) &&
/* not a repeated field */ !Array.isArray(values) &&
/* not a Map */ !(values instanceof ProtoBuf.Map) &&
/* not a ByteBuffer */ !ByteBuffer.isByteBuffer(values) &&
/* not an ArrayBuffer */ !(values instanceof ArrayBuffer) &&
/* not a Long */ !(ProtoBuf.Long && values instanceof ProtoBuf.Long)) {
this.$set(values);
} else // Set field values from arguments, in declaration order
for (i=0, k=arguments.length; i<k; ++i)
if (typeof (value = arguments[i]) !== 'undefined')
this.$set(fields[i].name, value); // May throw
}
}n/a
decode = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
var le = buffer.littleEndian;
try {
var msg = T.decode(buffer.LE());
buffer.LE(le);
return msg;
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
var rawEMsg = data.readUInt32LE(0);
var eMsg = rawEMsg & ~protoMask;
data = ByteBuffer.wrap(data, ByteBuffer.LITTLE_ENDIAN);
var header, sourceJobID, targetJobID;
if (eMsg == EMsg.ChannelEncryptRequest || eMsg == EMsg.ChannelEncryptResult) {
header = schema.MsgHdr.decode(data);
sourceJobID = header.sourceJobID;
targetJobID = header.targetJobID;
} else if (rawEMsg & protoMask) {
header = schema.MsgHdrProtoBuf.decode(data);
header.proto = Steam._processProto(header.proto);
if (!this.sessionID && header.headerLength > 0) {
...decode64 = function (str) {
return Message.decode(str, "base64");
}n/a
decodeDelimited = function (buffer, enc) {
if (typeof buffer === 'string')
buffer = ByteBuffer.wrap(buffer, enc ? enc : "base64");
buffer = ByteBuffer.isByteBuffer(buffer) ? buffer : ByteBuffer.wrap(buffer); // May throw
if (buffer.remaining() < 1)
return null;
var off = buffer.offset,
len = buffer.readVarint32();
if (buffer.remaining() < len) {
buffer.offset = off;
return null;
}
try {
var msg = T.decode(buffer.slice(buffer.offset, buffer.offset + len).LE());
buffer.offset += len;
return msg;
} catch (err) {
buffer.offset += len;
throw err;
}
}n/a
decodeHex = function (str) {
return Message.decode(str, "hex");
}n/a
decodeJSON = function (str) {
return new Message(JSON.parse(str));
}n/a
encode = function (data, buffer, noVerify) {
return new Message(data).encode(buffer, noVerify);
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...add = function (key, value, noAssert) {
var field = T._fieldsByName[key];
if (!noAssert) {
if (!field)
throw Error(this+"#"+key+" is undefined");
if (!(field instanceof ProtoBuf.Reflect.Message.Field))
throw Error(this+"#"+key+" is not a field: "+field.toString(true)); // May throw if it's an enum or embedded message
if (!field.repeated)
throw Error(this+"#"+key+" is not a repeated field");
value = field.verifyValue(value, true);
}
if (this[key] === null)
this[key] = [];
this[key].push(value);
return this;
}n/a
calculate = function () {
return T.calculate(this);
}n/a
encode = function (buffer, noVerify) {
if (typeof buffer === 'boolean')
noVerify = buffer,
buffer = undefined;
var isNew = false;
if (!buffer)
buffer = new ByteBuffer(),
isNew = true;
var le = buffer.littleEndian;
try {
T.encode(this, buffer.LE(), noVerify);
return (isNew ? buffer.flip() : buffer).LE(le);
} catch (e) {
buffer.LE(le);
throw(e);
}
}...
// var encRequest = schema.MsgChannelEncryptRequest.decode(data);
this.emit('debug', 'encrypt request');
var sessionKey = require('steam-crypto').generateSessionKey();
this._tempSessionKey = sessionKey.plain;
var keyCrc = require('buffer-crc32').signed(sessionKey.encrypted);
var encResp = new schema.MsgChannelEncryptResponse().encode();
var body = new ByteBuffer(encResp.limit + 128 + 4 + 4, ByteBuffer.LITTLE_ENDIAN); // key, crc, trailer
body.append(encResp);
body.append(sessionKey.encrypted);
body.writeInt32(keyCrc);
body.writeUint32(0); // TODO: check if the trailer is required
body.flip();
...encode64 = function () {
try {
return this.encode().toBase64();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toBase64();
throw(e);
}
}n/a
encodeAB = function () {
try {
return this.encode().toArrayBuffer();
} catch (e) {
if (e["encoded"]) e["encoded"] = e["encoded"].toArrayBuffer();
throw(e);
}
}n/a